Višestruka pretraga

1

Višestruka pretraga

offline
  • Pridružio: 08 Jul 2008
  • Poruke: 28

Može li neko da mi pomogne oko pretrage baze jer ne mogu nikako da izvršim pretragu dobijenih rezultata po prvoj zadatoj reči. Treba da o0d rezlutata koje dobijem kada ukucam recimo broj da onda od tih dobijenih rezultata izvršim novu pretragu po drugom izrazu, recimo lokacija.

ovo mi je pretraga html

<form action="rezultat.php" method="post">     Način pretrage:<br />     <select name="searchtype">       <option value="lokacija">Lokacija</option>       <option value="broj">Broj</option>       <option value="ime">Ime</option>     </select>     <br />     Unesi traženu reč:<br />     <input name="searchterm" type="text">     <br />     <input type="submit" value="Traži">   </form>


ovo mi je rezultat.php

<?php   // create short variable names   $searchtype=$_POST['searchtype'];   $searchterm=$_POST['searchterm'];   $searchterm= trim($searchterm);   if (!$searchtype || !$searchterm)   {      echo 'Niste uneli sve podatke.  Molimo pokušajte ponovo.';      exit;   }     if (!get_magic_quotes_gpc())   {     $searchtype = addslashes($searchtype);     $searchterm = addslashes($searchterm);   }   @ $db = new mysqli('localhost', 'kalabrija', 'as321as0123', 'clan');   if (mysqli_connect_errno())   {      echo 'Error: Konekcija nije moguća molimo probajte kasnije.';      exit;   }   $query = "select * from podaci where ".$searchtype." like '%".$searchterm."%'";   $result = $db->query($query);   $num_results = $result->num_rows;   echo '<p>Pronađeno članova: '.$num_results.'</p>';   for ($i=0; $i <$num_results; $i++)   {      $row = $result->fetch_assoc();      echo '<p><strong>'.($i+1).'. Broj: ';      echo htmlspecialchars(stripslashes($row['broj']));      echo '</strong><br />Lokacija: ';      echo stripslashes($row['lokacija']);      echo '<br />Ime: ';      echo stripslashes($row['ime']);      echo '<br />Tel: ';      echo stripslashes($row['tel']);     echo '<br />Email: ';      echo stripslashes($row['email']);        echo '</p>';   }     $result->free();   $db->close(); ?> <A href="http://localhost/index.php">Povratak na glavnu</A> </td></tr></table> </body> </html>



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

nisam ni razumeo, a nesto nemam sad ni vremena da gledam, ali sam video ogroman propust...
covece, stavljas user i pass ovako javno na netu, pa koliko god da je upitanju localhost sutra ce to biti i na netu mozda !



offline
  • Pridružio: 08 Jul 2008
  • Poruke: 28

1/I jedno i drugo su lažni kao i nazivi kolona u tabeli.
2/ Ako neko ima nameru da predloži UNION to sam probao i izbacuje mi sve podatke neselektovano.

3/ Unesem traženu reč 123 i on mi izbaci tražene podatke iz kolone broj na stranici rezultat.php. E sad od tih koji su prikazani trebaju mi svi sa tim brojem iz recimo Beograda, a to je podatak koji se nalazi u koloni lokacija.

offline
  • Pridružio: 25 Jul 2003
  • Poruke: 431
  • Gde živiš: Nis

Pa ne znam da li ima jednostavnije resenje ali umesto select stavi tri checkboxa i tri tekst polja pa onda selektujes npr checkbox ispred broja i upises broj u tekst polje za broj u isto vreme cekiras i polje lokacija i u tekst polje za lokaciju upises lokaciju, pokupis te podatke u rezultat.php i napravis upit po tim kriterijumima tako ce ti izbaciti sve podatke sa tim brojem i tom lokacijom. Ne znam da li ti ovakvo resenje odgovara

offline
  • Pridružio: 08 Jul 2008
  • Poruke: 28

To me i interesuje kad izbacim selekciju kako da onda napravim upit za ta tri polja.

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

SELECT * FROM tabela WHERE ".$searchtype." like '%".$searchterm."%'    AND ".$searchtype." like '%".$searchterm."%'     AND ".$searchtype." like '%".$searchterm."%'

I tako koliko god ti treba, skonto?

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23211
  • Gde živiš: Niš

baza ce mu umre ako tako radi pretragu Very Happy
treba mu search index tabela...

offline
  • igor86  Male
  • Stručni saradnik
    Web programiranje
  • Pridružio: 24 Maj 2006
  • Poruke: 1633

@Peca
Ne vjerujem da ce imati toliko podataka da ce to biti problem.
Uglavnom moze se i naknado ispraviti ako mu ovo bude presporo.

offline
  • Pridružio: 08 Jul 2008
  • Poruke: 28

igor86 ::SELECT * FROM tabela WHERE ".$searchtype." like '%".$searchterm."%'    AND ".$searchtype." like '%".$searchterm."%'     AND ".$searchtype." like '%".$searchterm."%'

I tako koliko god ti treba, skonto?


Prepravio sam stranicu rezultat.php ali mi izbacuje iste rezultate kao i pre. Prešao sam sa Access-a i ovo mi je sve jako poznato iz Sql upita ali mi nešto baš ne štima.

offline
  • PHP developer
  • Pridružio: 22 Mar 2006
  • Poruke: 3760
  • Gde živiš: 127.0.0.1

Pa naravno da ti izbacuje iste rezultate, kad je uslov isti. Ako ti je searchtype lokacija, a searchterm Beograd, onda ti je ovaj gore kod isto sto i:

SELECT * FROM tabela WHERE `lokacija` like '%Beograd%'    AND `lokacija` like '%Beograd%'    AND `lokacija` like '%Beograd%'

tj ponavljas isti uslov tri puta. Obrati paznju na Draganov post, pa po njemu izmeni kod koji ti je dao igor86.

Ko je trenutno na forumu
 

Ukupno su 1012 korisnika na forumu :: 32 registrovanih, 4 sakrivenih i 976 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, babaroga, Boris90, cemix, djboj, Dorcolac, dragoljub11987, Georgius, goranperović66, Insan, ivan1973, Koridor, kunktator, ljuba, M1los, Miki01, MiroslavD, MrNo, nebojsag, nikoladim, opt1, Prašinar, SD izvidjac, simazr, Snorks, solic, Srle993, Tvrtko I, vathra, x9, YugoSlav, Zmaj Tolak