Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    114

    motore di ricerca : controllo incrociato

    ciao a tutti,
    sto realizzando un piccolo motore di ricerca ed ho subito incontrato una difficoltà d'impostazione.

    ho 3 campi <select> : provincia di residenza, anno di nascita e sesso...tutti e 3 hanno un <option selected value=""> (equivalente cioè a nessuna scelta).

    ora...finchè l'utente effettuerà la scelta per ognuno di questi 3 select...tutto ok!!

    ma..e qui sta il mio problema..se per uno di questi select (o anche due o tutti e tre!!) non viene effettuata una scelta, la mia query :

    SELECT * FROM tabella WHERE provincia=$provincia AND anno=$anno AND sesso=$sesso

    non avrà più senso, perchè, ad esempio, se nel select provincia non verrà effettuata alcuna scelta, $provincià sarà ="" ...cioè a niente...e quindi la query mysql non produrrà alcun risultato perchè non esisterà nessun record presente nella tabella il cui valore per il campo provincia sarà = a niente!!

    Dovrei trovare il modo di escluere dalla query i campi per i quali non è stata fatta una scelta, cioè, in questo caso ottenere automaticamente :

    SELECT * FROM tabella WHERE anno=$anno AND sesso=$sesso

    Come potrei risolvere??
    grazie mille

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    <?php

    $where 
    "";
    if(
    $provincia != "" || $anno != "" || $sesso != "")
    {
        
    $where .= " WHERE ";
        if(
    $provincia != "")
            
    $where .= "provincia = '".$provincia."' AND ";
        if(
    $anno != "")
            
    $where .= "anno = '".$anno."' AND ";
        if(
    $sesso != "")
            
    $where .= "sesso = '".$sesso."' AND ";
        
        
    $where substr($where0strlen($where) - 4);
    }


    $sql "SELECT * FROM tabella".$where;

    ?>

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.