Domanda:
My Sql - Php che casino?
anonymous
2012-03-17 03:48:16 UTC
Ciao a tutti! ringrazio anticipatamente chi potrà darmi una mano... ve ne sarei mooolto grato!
In php-My sql ho realizzato un database bibliografico; per l'inserimento tutto ok e per la ricerca pure....
Adesso (nota dolente) devo rendere il motore di ricerca più specifico...

Da

Un select che mi cerca nei campi autore titolo ed anno...

a

devo creare 3 select denominati autore titolo ed anno che mi cercano nei rispettivi campi.. rendendo la ricerca dunque più specifica..
Non vi chiedo di farmi il codice perchè sarei un povero pazzo... ma se potete darmi qualche suggerimento ve ne sarei eternamente grato!
Tre risposte:
cronos
2012-03-17 10:22:24 UTC
devi giocare sulla clausola WHERE della select. in pratica con tre if.

$clausola = ""; // inizializzi a clausola vuota

if ( $_POST['autore'] != "" ) clausola = "TabellaLibri.Autore LIKE \"%" . $_POST['autore'] . "%\"";



con la IF di cui sopra crei la prima condizione. per quella dell'anno fai lo stesso test ma userai una variabile stringa temporanea:

if ( $_POST['anno'] != "" ) {

$temp = "TabellaLibri.Anno = " . $_POST['anno'];

// controlli che clausola non sia vuota. se non lo è devi aggiungere una AND alla clausola

if ( $clausola !="" ) {

$clausola .= " AND "

}

$clausola .= $temp;

}



quindi alla fine la clausola conterrà una, due o tre condizioni unite dalla AND se ve ne sono più di una. infine, per creare la select controlli che $clausola non sia vuota (nessun campo digitato) perchè in quel caso la keyword WHERE non ci vuole:



$query = "SELECT ...";

if ( $clausola !="" ) {

$query .= " WHERE (" . $clausola . ")";

}
Giorgio
2012-03-17 12:44:21 UTC
Secondo me fai prima a collegare un radio button alla casella di testo; ad esempio radio data checked lanci la query ricerca data ect…
anonymous
2012-03-17 11:43:53 UTC
Non mi è chiaro cosa debbano fare queste 3 select.

Dettaglia un po' la tua domanda, anche facendo esempi


Questo contenuto è stato originariamente pubblicato su Y! Answers, un sito di domande e risposte chiuso nel 2021.
Loading...