• 8 odgovora
  • 3.392 pregleda
PHP Search true karakterima 04.07.2015. u 20:23 · pre 137 meseci #1
ovako php search radi ali ne znam kako da ga podesim da cita full string. Objasnicu malo detalnije. Ukoliko u search box-u unesem 11 na results.php izbacuje mi sve gde nadze 11, a treba mi za 8 karaktere. Sad ne zmam kako da obradim da kad ukucam 11 da mi da povratnu informaciju da takav artikl ne postoi. A kad ukucam 11111111 onda da mi izbaci podatak sa databazu.

I jos nesto zelim da znam kako da stavim ADD link kada je $i=0;.

Cod koi imam ide ovako:
Code:


<?php
  $searchtype=$_POST['searchtype'];
  $searchterm=trim($_POST['searchterm']);

  if (!$searchtype || !$searchterm) {
     echo 'You have not entered search details.  Please go back and try again.';
     exit;
  }

  if (!get_magic_quotes_gpc()){
    $searchtype = addslashes($searchtype);
    $searchterm = addslashes($searchterm);
  }

  @ $db = new mysqli('host', 'user', 'pass', 'db');

  if (mysqli_connect_errno()) {
     echo 'Error: Could not connect to database.  Please try again later.';
     exit;
  }

  $query = "select * from polje where ".$searchtype." like '%".$searchterm."%'";
  $result = $db->query($query);

  $num_results = $result->num_rows;
  echo "<p>Number of polje found: ".$num_results."</p>";

  for ($i=0; $i <$num_results; $i++) {
     $row = $result->fetch_assoc();
     echo "<p><strong>".($i+1).". Ime1: ";
     echo htmlspecialchars(stripslashes($row['ime1']));
     echo "</strong><br />Broj1: ";
     echo stripslashes($row['broj1']);
     echo "<br />Broj2: ";
     echo stripslashes($row['broj2']);
     echo "<br />Broj3: ";
     echo stripslashes($row['broj3']);
     echo "</p>";
  }

  $result->free();
  $db->close();

?>



Re: PHP Search true karakterima 04.07.2015. u 21:56 · pre 137 meseci #3
Jedno pitanje


select * from polje where ... sta ti je "polje" ? ID ili content ? Pitam jer si primer dao kao integer
Re: PHP Search true karakterima 04.07.2015. u 22:14 · pre 137 meseci #4
Polje je naziv tabele gde su ostali podatke za "Ime1", "Broj1", "Broj2", "Broj3"...
Re: PHP Search true karakterima 04.07.2015. u 23:22 · pre 137 meseci #5
Izvini, moja greska, mislio sam na $searchtype ... Ti u stvari hoces da napravis exact match trazenog stringa u stringu ? Probaj ovo :


$query = "select * from polje where ".$searchtype." regexp '[[:<:]]".$searchterm."[[:>:]]' "
Re: PHP Search true karakterima 05.07.2015. u 01:39 · pre 137 meseci #6
ovako imam kolonu primer: firstname i lastname sa ".$searchtype." selektujem pretrazivanje pod imenom i prezimenom (to je DROPDOWN) na search formi, a ".$searchterm." je input text box gde upisujem vrednost. e sada ukoliko vrednost je jednakva na koloni (u zavisnosti od toga sto sam selektovao na DROPDOWN meniju) da mi izbaci (ukoliko pronadje ekvivalentan upis u tu kolonu).

Primer: ako trazim "De", a u bazi imam recimo Dejan onda da mi ne izbacuje to da ime, nego da ide na stranicu da nema takvog "De".

jer sada kad trazim bilo sta ispisuje mi sve sta je u bazi (pricam ukoliko trazim pod imenom) sa "De" Dejan, Deka, Denis....

Hvala svima!
Re: PHP Search true karakterima 05.07.2015. u 02:30 · pre 137 meseci #7
Citat:
ptosic:
Izvini, moja greska, mislio sam na $searchtype ... Ti u stvari hoces da napravis exact match trazenog stringa u stringu ? Probaj ovo :


$query = "select * from polje where ".$searchtype." regexp '[[:<:]]".$searchterm."[[:>:]]' "



ptosic hvala ti puno radi bez problema.

sada kako da dodam
Code:
  for ($i=0; $i <$num_results; $i++) {
ili promenim source da kad je $i=0; da dodam link
Re: PHP Search true karakterima 05.07.2015. u 08:59 · pre 137 meseci #8
ako sam dobro razumeo :

if($i == 0){
/*ovde ako je $i=0*/
}else{
/*ostatak koda*/
}
Re: PHP Search true karakterima 05.07.2015. u 18:50 · pre 137 meseci #9
ptosic hvala ti puno. Sinoc sam resio ovo sa } ifelse { i } else { tako da sam dobro to obradio na 2 nivoa ako nema u databazi, i ako ga vec ima.

Zna li neko kako da uradim vremensku registraciju (recimo za mesec dana) nesto sa "date" al da bude kao kluc i da zaklucava usere za login. tako da user vidi jos koliko moze da koristi account na svoj login page (Registration left: xx days)

Hvala Svima!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme