cautare dupa mai multe criterii
Moderatori: Zamolxe, Moderatori
cautare dupa mai multe criterii
Salut! Am nevoie de un cod php cu care sa caut intr-o baza de date dupa mai multe criterii de ex: am 3 campuri : nume; oras; judet si as vrea sa caut dupa oras numai ... asta e simplu dar daca vreau si nume si oras sau nume si judet sau toate 3 sau alte posibilitati (gen mai mult criterii care ar implica mult mai multde combinatii) cum fac ?Multumesc
Cod: Selectaţi tot
SELECT * FROM `tabel` WHERE `nume` LIKE '%nume%' OR `oras` LIKE %$oras%'' OR `judet` '%$judet%'
Copilaria nu este de la nastere pana la o anumita varsta, iar la o anumita varsta copilul a crescut si ia toate lucrurile copilaresti si le pune la o parte. Copilaria este regatul unde nu moare nimeni.
[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]
[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]
am facut ceva de genul
unde gresesc?
Cod: Selectaţi tot
if(isset($_POST['nume_licitatie'],$_POST['judet'], $_POST['oras']) && ( !empty($_POST['nume_licitatie']) || !empty($_POST['judet']) || !empty($_POST['oras'])))
{
$query = "SELECT * FROM licitatii WHERE nume LIKE '%".$_POST['nume_licitatie']."%' OR judet LIKE '%".$_POST['judet']."%' OR oras LIKE '%".$_POST['oras']."%' ";unde gresesc?
Incearca sa stergii % din fata variabilei (care o preiei cu $_POST), sau de dupa variabila, ca sa ai:
sau
Daca nu merge nici asa, poti sa spui ce anume vrei sa-ti afiseze?
Cod: Selectaţi tot
%$variabila
sau
Cod: Selectaţi tot
$variabila%
Daca nu merge nici asa, poti sa spui ce anume vrei sa-ti afiseze?
Copilaria nu este de la nastere pana la o anumita varsta, iar la o anumita varsta copilul a crescut si ia toate lucrurile copilaresti si le pune la o parte. Copilaria este regatul unde nu moare nimeni.

[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]

[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]
nu merge.
+ codul php de mai sus si vreau sa caut dupa nume deci celalate 2 campuri le las goale sau vreau dupa nume si judet si campul cu oras il las gol si tot asa. Vreau sa-mi afiseze ce gaseste in baza de date care corespunde criteriilor ex: nume: masina; oras: bucuresti afiseaza licitatia cu numele masina din orasul bucuresti, chiar daca mai sunt si in alte orase licitatii cu numele ala.
Cod: Selectaţi tot
<form action="admin.php" method="post" id="searchForm">
<table cellspacing="15">
<tr>
<td align="right">Nume licitatie</td>
<td><input type="text" name="nume_licitatie" /></td>
</tr>
<tr>
<td align="right">Judet</td>
<td><input type="text" name="judet" /></td>
</tr>
<tr>
<td align="right">Oras</td>
<td><input type="text" name="oras" /></td>
</tr>
</table>
<button type="submit" id="sendBtn" >Cauta</button>
</form>+ codul php de mai sus si vreau sa caut dupa nume deci celalate 2 campuri le las goale sau vreau dupa nume si judet si campul cu oras il las gol si tot asa. Vreau sa-mi afiseze ce gaseste in baza de date care corespunde criteriilor ex: nume: masina; oras: bucuresti afiseaza licitatia cu numele masina din orasul bucuresti, chiar daca mai sunt si in alte orase licitatii cu numele ala.
Then, trebuie AND in loc de OR.
Cod: Selectaţi tot
if(isset($_POST['nume_licitatie'],$_POST['judet'], $_POST['oras']) && ( !empty($_POST['nume_licitatie']) || !empty($_POST['judet']) || !empty($_POST['oras'])))
{
$query = "SELECT * FROM licitatii WHERE nume LIKE '%".$_POST['nume_licitatie']."%' AND judet LIKE '%".$_POST['judet']."%' AND oras LIKE '%".$_POST['oras']."%' ";
Copilaria nu este de la nastere pana la o anumita varsta, iar la o anumita varsta copilul a crescut si ia toate lucrurile copilaresti si le pune la o parte. Copilaria este regatul unde nu moare nimeni.

[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]

[img=http://klaus-blog.hi2.ro/fisiere/imagine.php]
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 35 vizitatori