Ricerca avanzata PHP & MySQL

fabiomenal

Nuovo Utente
20 Mar 2011
5
0
0
Vorrei realizzare una ricerca avanzata con PHP, che preveda l'inserimento potenziale di molti campi ma anche quello minimo di uno solo. Come faccio a scrivere la query di ricerca considerando che molte delle aree di testo della ricerca posson esser vuoti? Ci vuole una lunga serie di if? Vi sarei enormemente grato se mi faceste un esempio.
 

micio86

Utente Attivo
beh

Se i campi son diversi certo ci vogliono gli if....
Tieni conto che per ogni campo che vuoi cercare devi allungare la tua query.
Io solitamente inizio con SELECT * FROM tab_principale (se ci son delle JOIN le faccio con LEFT JOIN) WHERE 1=1 in modo da avere una condizione sempre vera. Poi con gli if aggiungo man mano i miei campi, valore da ricercare e il gioco è fatto.
Stessa cosa per l'ordinamento, solo che invece di aggiungere sostituisco (si potrebbe far meglio per l'ordinamento cmq).
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
si ti servono diversi if, ma non serve tante query operi (es) solo sul where ad es.
PHP:
<?php
//prelevi da vari post il valore dei campi
//poi
$were=" WHERE ";
if($campo_1 !=""){
	$were.=" campo_1= '$campo_1' AND ";//es vuoto
}
if($campo_2 !=""){
	$were.=" campo_2= '$campo_2' AND ";//es = pinco
}
if($campo_3 !=""){
	$were.=" campo_3= '$campo_3' AND ";// es = pallino
}
//ecc.....
//termini con questa
$were.=" 1=1 ";//cioè uno uguale a uno
/*in funzione dei campi vuoti $were conterrà es.
WHERE campo_2='pinco' AND campo_3='pallino' AND 1=1 "
l'istruzione 1=1 ti serve per non dover cercare e togliere l'ultimo AND o se i campi sono
tutti vuoti, se tutti i campi sono vuoti $were risulterà
WHERE 1=1 cioè sempre soddisfatta
poi nella query
*/
$query= "SELECT * FROM mia_tabella $were";
//ecc...
?>

guarda che è solo uno schema che devi adattare alle tue esisgenze
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
Emix [PHP][MYSQL] Ricerca avanzata tramite form PHP 6
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
M Problema checkbox e ricerca avanzata PHP 8
A ricerca avanzata di PIU parole in un testo Windows e Software 0
M Ricerca Avanzata PHP 1
G Menù a tendina di ricerca con query PHP 1
R Problema query con ricerca id numerico PHP 2
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
F Visualizzazione motore di ricerca SEO e Posizionamento 2
B Stringa sql per ricerca su più campi Database 1
F Funzione Glob - ricerca file contenente una parola PHP 1
P Ricerca campo data PHP 1
L titolo del sito nella pagina di ricerca di google SEO e Posizionamento 2
L Ricerca valore mysql e incremento PHP 73
E Problema motore di ricerca FULL_TEXT PHP 0
motleyrulez Ricerca filtro con Ajax PHP 1
Shyson [CSS] Posizionare casella di ricerca HTML e CSS 3
P Query di ricerca profonda MySQL 0
T Query per ricerca ritardo evento MS Access 7
B Campo ricerca domini HTML e CSS 4
V Ricerca volontari questionario tesi - Ricambio Offerte e Richieste di Lavoro e/o Collaborazione 0
L Ricerca sviluppatori PHP tempo indeterminato Milano Offerte e Richieste di Lavoro e/o Collaborazione 0
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
L [PHP] Ricerca su search bar esterna PHP 1
D Ente di Formazione accreditato in Regione Lazio ricerca Front End Developer Offerte e Richieste di Lavoro e/o Collaborazione 3
N [WordPress] Ricerca tema WordPress 6
Alex_70 [PHP] Ricerca con risultati cliccabili PHP 21
Federico.Marcelo Alla ricerca di scrittori post guest Offerte e Richieste di Lavoro e/o Collaborazione 0
ANDREA20 [PHP] motore di ricerca nel sito PHP 11
O [PHP] Ricerca record tramite post PHP 7
GraceHawk [MS Access] Findfirst per ricerca record MS Access 1
T [PHP] Ricerca nel database PHP 2
A [Javascript] Mostrare un marker se è vicino al risultato di ricerca con google maps Javascript 3
V Semplice barra di ricerca con filtro categorie prodotti E-Commerce 0
A Ricerca con collegamento in altro sito web Discussioni Varie 0
C [PHP] Ricerca multipla, evitare if PHP 4
F [WordPress] Plugin Ricerca per e-commerce Woocommerce WordPress 1
M [OFFRO][RETRIBUITO] Milano IT Consulting SRL - Ricerca 1 Consulente PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
D [ASP] Motore di ricerca interno su 2 tabelle Classic ASP 3
A [MySQL] Ricerca in PMA MySQL 0
andreas88 Da .htm a .php, perdo le mie posizioni su Google ricerca? SEO e Posizionamento 9
P Google risultati di ricerca inappropriati SEO e Posizionamento 1
Emix [PHP] Ricerca e modifica su due tabelle PHP 26
G [PHP] FORM DI RICERCA ESTESA PHP 2
borgo italia [PHP] ricerca caratteri accentati PHP 4
P [PHP] ricerca dati PHP 1
R [MySQL] ricerca per data... MySQL 10
T4MAR4 [PHP] Problema ricerca con apostrofo PHP 2
R [PHP] Prendere dati da moduli di ricerca esterni PHP 4

Discussioni simili