- Home
- Categorie
- Coding e Sistemistica
- PHP
- Utilizzo di WHERE: che valori dare alle variabili per visualizzare tutti i record?
-
Utilizzo di WHERE: che valori dare alle variabili per visualizzare tutti i record?
Ciao ragazzi
Ho questa query MySQL:
$query_leggi="SELECT id FROM ricerca WHERE sesso= '".$sesso."' AND nazione= '".$nazione."' AND regione= '".$regione."' AND citta= '".$citta."' AND giorno>= '".$giorno."' AND mese>= '".$mese."' AND anno>= '".$anno_min."' AND anno<= '".$anno_max."' AND preferenze= '".$preferenze."' AND foto_caricata= '".$foto."' ";
Che valori devo dare alle variabili poste dopo il WHERE per poter visualizzare tutti i record?
Domanda semplice però non so la risposta
Grazie a tutti
-
Mettere nessun where?
Oppure non sto capendo la domanda?
-
@marcocarrieri said:
Mettere nessun where?
Oppure non sto capendo la domanda?Mi serve per forza il WHERE nel caso in cui le variabili hanno valori diversi scelti dall'utente.
Di default però devono avere un determinato valore per visualizzare automaticamente tutti i record...
-
A ho capito, un semplice caso potrebbe essere il tasto azzera che azzera tutte le variabili no?
-
Eh?
Diciamo che ho un form per far introdurre eventuali criteri di ricerca all'utente.
Quando l'utente arriva per la prima volta su questa pagina, devono essere visualizzati di default tutti i record.Come faccio a fare una cosa del genere?
Pensavo di dare un semplice carattere jolly alle variabili (ad esempio *) e così visualizzare tutti i record ma non funziona
-
Ma questi valori saranno poi scelti da un menu a tendina dall'utente?
Tipo Sesso, l'utente sceglie da un menu, nazione idem ecc...
No?
-
@marcocarrieri said:
Ma questi valori saranno poi scelti da un menu a tendina dall'utente?
Si, certo!
Tutte le variabili vengono scelte dall'utente, però la prima volta che viene visualizzata la pagina devono essere visualizzati tutti i record.In ogni caso, mettendo caso che l'utente sceglie solo un filtro dal menu a tendina, tutte le altre variabili non vengono toccate quindi...
-
Allora credo tu debba lavorare per forza con il linguaggio SERVER, in questo caso PHP visto la sezione in cui hai postato.
In tutti i menu a tendina, potresti mettere come primo valore, e di default, la sigla "TUTTI" o "TUTTE" o quello che piu ti aggrada.
Ora quando ricevi i dati inviati del form, andrai a costruirti la tua clausola where a seconda del fatto che ci siano campi il cui valore sia diverso dal valore di default ("TUTTI" o "TUTTE") in questo caso.
Sarà quindi una concatenazione di pezzetti di clausola where, in questo caso ogni volta hai il WHERE giusto.
-
@marcocarrieri said:
Ora quando ricevi i dati inviati del form, andrai a costruirti la tua clausola where a seconda del fatto che ci siano campi il cui valore sia diverso dal valore di default ("TUTTI" o "TUTTE") in questo caso.
Ma quindi, se ho capito bene, mi stai suggerendo di farmi una query per ogni possibile richiesta?
Cioè, se ho 8 opzioni nel form significa che devo fare 64 combinazioni possibili?? :():PS: Esatto, sto lavorando con PHP.
-
No no.
Una cosa del genere.IF _POST["SESSO"]!="TUTTI"
{
if($where=="")
{
$where= "where sesso=".$_POST["SESSO"].";
}
else
{
$where=$where." AND sesso=".$_POST["SESSO"].";
}}
Questo per ogni variabile da controllare.
-
Ti ringrazio per l'aiuto ma non ti nascondo che non c'ho capito nulla
Ma dove l'hai presa la variabile $where?
-
Me la creo io con PHP e la compongo piano piano.
-
mmm rileggendo forse ha più senso.
Sarà che sono molto stanco, domani mattina controllerò il tutto.Tu intanto se vuoi fammi pure qualche altro esempio
Grazie ancora per l'aiuto, buona serata
-
Il tuo suggerimento (anche se in questo momento non mi è ancora del tutto chiaro) mi è stato utilissimo!
Ieri sera ho avuto l'illuminazione e sta mattina ho risolto, grazie!!
-
Forse si poteva fare direttamente nel linguaggio SQL il tutto con degli if li dentro.
Ma io trovo piu semplice questo tipo di controllo, piu facile da sviluppare.Ci si ribecca qua nel Forum.
Saluti, Marco.