Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    103

    Problema con condizione(che salta) e WHERE con due variabili come parte della query.

    Salve, posto prima di tutto il codice:

    Codice PHP:
            $area_query = ($area!="all") ? "AND destinazione='$area'" "";
        
    $nat_query = ($nat!="all") ? "AND nazione='$nat'" "";    
        
    $query=mysql_query("SELECT * FROM offerte WHERE prezzo $budget $area_query $nat_query GROUP BY sistemazione, lastminute ORDER BY localita ASC LIMIT $start,$step"); 
    Allora, ho due select nella pagina che dovrebbero permettermi di fare una ricerca all'interno della tabella nel db. Ogniuno di questi select ha un opzione "tutti" con valore "all". Perciò poichè "all" è inesistente nella tabella, ma serve esclusivamente ad escludere quel campo della ricerca con la condizione controllo se la variabile del campo è uguale ad "all" e setto la variabile che dovrebbe contenere il pezzo di query come vuota, in caso contrario definisco il pezzo di query.

    Il problema è che se uno dei due campi è all e l'altro no (ho provato con tutti e due) la query esce così:

    SELECT * FROM offerte WHERE prezzo BETWEEN 0 AND 20000 AND destinazione='Medio Oriente' AND nazione='' GROUP BY sistemazione, lastminute ORDER BY localita ASC LIMIT 0,5

    anche se uno dei due è uguale ad "all" e quindi la sua variabile nella query dovrebbe essere vuota non è così!

    Come mai?

    Vi ringrazio in anticipo per l'aiutino

    N.B. dopo prezzo $budget="BETWEEN valore AND altrovalore, quello non da problemi.

  2. #2
    prova a fare
    codice:
    $area_query = ($area!="all" && $area!="") ? "AND destinazione='$area'" : "";
        $nat_query = ($nat!="all" && $nat!="") ? "AND nazione='$nat'" : "";
    se ti risolve il problema vuol dire che una delle variabii passa come "" e non come all.
    ciao
    sergio

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    103
    no no ho fatto tutte le prove.. compreso un echo delle variabili appena prima delle istruzioni di controllo...

    Anche se fosse così, come mai anche se inverto le selezioni mi da lo stesso problema?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.