• User

    Estrarre 2 campi dalla stessa tabella ma un campo con operatore WHERE e l'altro senza

    Ciao ragazzi,

    devo estrarre due campi dalla stessa tabella ma un campo con operatore WHERE e l'altro senza, in questo modo;

    "SELECT citta FROM localita_url WHERE regione='$reg' UNION SELECT regione FROM localita_url LIMIT"

    Estrae i dati ma fa un po' di confusione tra città e regioni.

    In poche parole devo estrarre tutte le città della regione passata via url (variante $reg) e tutte le regioni presenti nella tabella.

    La tabella localita_url è cosi composta:

    Id|regione|citta
    1|abruzzo|pescara
    2|abruzzo|chieti
    3|campania|napoli
    .....

    Grazie a tutti!


  • User Attivo

    Ciao gabrielbrasil
    in che senso ti fa confusione? Stai comunque usando una union quindi i risultati della seconda query verranno accodati a quelli della prima.


  • User

    @PietroR said:

    Ciao gabrielbrasil
    in che senso ti fa confusione? Stai comunque usando una union quindi i risultati della seconda query verranno accodati a quelli della prima.

    Ciao PietroR e grazie per la risposta.

    Andava in confutazione perchè estraeva alcune città e regioni insieme mescolando tutti i dati... molto probabilmente settavo erratamente la union.

    Ho risolto nel seguente modo, non lo so se è il modo più opportuno ma funziona bene. Quando nella url c'è la variante $reg estrae solo le regioni, quando invece c'è la variante $reg estrae le città della regione passata nella variante.

    $reg = trim(ucwords(strtolower($reg)));
    if (empty($reg)) {
    $rs = mysql_query("SELECT DISTINCT regione FROM seo_localita_url LIMIT $first, $x_pag"); //senza variabile
    } else {
    $rs = mysql_query("SELECT citta FROM seo_localita_url WHERE regione='$reg' LIMIT $first, $x_pag"); //con variabile
    }