Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Query a database con menu a tendina

    Cari amici,

    ho una form di ricerca che chiede di selezionare da un menu a tendina la regione nella quale si vuol cercare una azienda.

    echo "Regione: <select name=\"regione\" id=\"regione\" onchange=\"setCities(this)\">
    <option value=\"null\" selected=\"selected\">------------</option>
    <option value=\"abbruzzo\">Abbruzzo</option>
    <option value=\"basilicata\">Basilicata</option>
    <option value=\"calabria\">Calabria</option>
    <option value=\"campania\">Campania</option>
    <option value=\"emilia romagna\">Emilia Romagna</option>
    <option value=\"friuli venezia giulia\">Friuli Venezia Giulia</option>
    <option value=\"lazio\">Lazio</option>
    <option value=\"liguria\">Liguria</option>
    <option value=\"lombardia\">Lombardia</option>
    <option value=\"marche\">Marche</option>
    <option value=\"molise\">Molise</option>
    <option value=\"piemonte\">Piemonte</option>
    <option value=\"bolzano\">Prov. aut. Bolzano</option>
    <option value=\"trento\">Prov. aut. Trento</option>
    <option value=\"puglia\">Puglia</option>
    <option value=\"sardegna\">Sardegna</option>
    <option value=\"sicilia\">Sicilia</option>
    <option value=\"toscana\">Toscana</option>
    <option value=\"umbria\">Umbria</option>
    <option value=\"valle d'aosta\">Valle d'Aosta</option>
    <option value=\"veneto\">Veneto</option>
    </select>";


    Ora mi sono stupidamente incastrato nella query per restituirmi i risultati delle aziende
    di una regione.

    Non so sintatticamente come far capire la differenza tra la variabile $regione e quella del campo databese.

    Come posso chiedergli di restituirmi le aziende che hanno la regione uguale alla regione selezionata dal menu a tendina?

    Select * from table where $regione(del menu a tendina) = ????????????(regione del db)


    Mi sono imbambolato....
    Please help

  2. #2
    Select *
    from nomeDb.nomeTab
    where nomeTab.nomeCampo = $regione

    prova così e fammi sapere!

  3. #3
    ti posto il codice della pagina.... ho provato il tuo ma non mi ha funzionato.
    Calcola che mi connetto per prima cosa al database, poi ho la form con il campo
    nome azienda, regione e settore.
    Ora dal menu a tendina seleziono "Abbruzzo" e vorrei, premendo il tasto "Invio"
    che mi si restituisca le aziende che hanno nel campo del db il valore "Abbruzzo"




    <?
    $cerca=$_POST['cerca'];
    $dato=$_POST['dato'];

    include "connessione.php";
    $db = mysql_connect("$server", "$username", "$password");
    mysql_select_db("$database",$db);
    echo "<table width=\"100%\">";
    echo "<tr>";
    echo "<form name=cerca action='' method=post>";
    echo "<td >Azienda:<input type=\"text\" name=\"dato\">";

    echo "Regione: <select name=\"regione\" id=\"regione\" onchange=\"setCities(this)\">
    <option value=\"null\" selected=\"selected\">------------</option>
    <option value=\"abbruzzo\">Abbruzzo</option>
    <option value=\"basilicata\">Basilicata</option>
    <option value=\"calabria\">Calabria</option>
    <option value=\"campania\">Campania</option>
    <option value=\"emilia romagna\">Emilia Romagna</option>
    <option value=\"friuli venezia giulia\">Friuli Venezia Giulia</option>
    <option value=\"lazio\">Lazio</option>
    <option value=\"liguria\">Liguria</option>
    <option value=\"lombardia\">Lombardia</option>
    <option value=\"marche\">Marche</option>
    <option value=\"molise\">Molise</option>
    <option value=\"piemonte\">Piemonte</option>
    <option value=\"bolzano\">Prov. aut. Bolzano</option>
    <option value=\"trento\">Prov. aut. Trento</option>
    <option value=\"puglia\">Puglia</option>
    <option value=\"sardegna\">Sardegna</option>
    <option value=\"sicilia\">Sicilia</option>
    <option value=\"toscana\">Toscana</option>
    <option value=\"umbria\">Umbria</option>
    <option value=\"valle d'aosta\">Valle d'Aosta</option>
    <option value=\"veneto\">Veneto</option>
    </select>";

    echo "Settore: <select name=\"settore\" id=\"settore\">
    <option value=\"\" selected=\"selected\">---------------</option>
    </select>";

    echo "<tr><td><input type=\"submit\" value=\"Invia\" name=\"rubrica\">";
    echo "<input type=\"reset\" value=\"RESET\" name=\"rubrica\"></FORM></td></tr></TABLE>";
    if($cerca!="zz" and $dato!=""){
    $cerca=mysql_query("Select * from dop where regione = $regione ");
    echo "
    I risultati ottenuti:

    ";
    while ($data = mysql_fetch_object($cerca))
    {
    $nome_azienda=stripslashes($data->nome_azienda);
    $indirizzo=stripslashes($data->indirizzo);
    $cap=stripslashes($data->cap);
    $citta=stripslashes($data->citta);
    $regione=stripslashes($data->regione);
    $settore=stripslashes($data->settore);
    $telefono=stripslashes($data->telefono);
    $fax=stripslashes($data->fax);
    $email=stripslashes($data->email);
    $sito_web=stripslashes($data->sito_web);
    echo "
    Nome Azienda:$nome_azienda
    ";
    if($indirizzo!=""){echo"Indirizzo:: $indirizzo
    ";}
    if($cap!=""){ echo"CAP: <font color=orange>$cap</font>
    ";}
    if($citta!=""){ echo"Città: <font color=blue>$citta</font>
    ";}
    if($regione!=""){ echo"Regione: $regione
    ";}
    if($settore!=""){ echo"Settore: $settore
    ";}
    if($telefono!=""){ echo"Telefono: <font color=green>$telefono</font>
    ";}
    if($fax!=""){ echo"Fax: $fax
    ";}
    if($email!=""){ echo"Email: $email
    ";}
    if($sito_web!=""){ echo"Sito Web: $sito_web
    ";}
    echo "

    ";
    }
    }
    ?>

  4. #4
    se esegui la query direttamente sul db funziona?
    Ovviamente vedi di inserire valori che diano risultati idonei!

  5. #5
    Ho fatto questa query sul db e ha funzionato:

    SELECT * FROM dop WHERE regione = 'Lazio'


    ho dovuto mettere = 'Lazio' logicamente perche mettendo =$regione la variabile sarebbe stata vuota.


    Quindi il db funziona giusto??

    E' solo questione di sintassi??

  6. #6
    Io ho notato che da un form con una selezione option la variabile che viene passata dopo le selezione presenta uno spazio prima del primo carattere e quindi la ricerche non mi funzionavano, ho risolto nella ricerca ' $var' aggiungendo uno spazio davanti

  7. #7
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    zorzside ma che consigli dai?!?
    gli spazi (se ci sono ) vanno eliminati (ad esempio con un trim) ovunque e non metterli a casaccio rattopando dei buchi...

  8. #8
    Grazie per la pazienza

    Non so se c'è qualcosa nella sintassi.

    Ora ho provato a non usare il select ma il campo dove scrivo il nome dell'azienda che si chiama $dato cercando per nome azienda:

    "SELECT * FROM dop WHERE nome_azienda like '%$dato%' "

    e funziona.

    Qualcosa nel select ci blocca.

  9. #9
    Se faccio la stessa query dalla pagina php che ho fatto direttamente dal sito
    ovvero

    SELECT * FROM dop WHERE regione = 'Lazio'

    non funge, mentre sul db si.


    Quale arcano si nasconde?

  10. #10
    Originariamente inviato da zorzside
    Io ho notato che da un form con una selezione option la variabile che viene passata dopo le selezione presenta uno spazio prima del primo carattere e quindi la ricerche non mi funzionavano, ho risolto nella ricerca ' $var' aggiungendo uno spazio davanti
    Hai ragione ma era la soluzione dei 5 minuti non ho tempo di fare altro

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.