[ djamsi @ 04.07.2015. 20:23 ] @
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();

?>



[ Predrag Supurovic @ 04.07.2015. 21:11 ] @
Pa nemoj koristiti LIKE.
[ ptosic @ 04.07.2015. 21:56 ] @
Jedno pitanje


select * from polje where ... sta ti je "polje" ? ID ili content ? Pitam jer si primer dao kao integer
[ djamsi @ 04.07.2015. 22:14 ] @
Polje je naziv tabele gde su ostali podatke za "Ime1", "Broj1", "Broj2", "Broj3"...
[ ptosic @ 04.07.2015. 23:22 ] @
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."[[:>:]]' "
[ djamsi @ 05.07.2015. 01:39 ] @
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!
[ djamsi @ 05.07.2015. 02:30 ] @
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
[ ptosic @ 05.07.2015. 08:59 ] @
ako sam dobro razumeo :

if($i == 0){
/*ovde ako je $i=0*/
}else{
/*ostatak koda*/
}
[ djamsi @ 05.07.2015. 18:50 ] @
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!