Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180

    menu tendina e query "seleziona tutto"

    Ciao,
    il problema che ho è relativo all'interazione di una pagina html con menu a tendina per la scelta dei campi e la pagina php che lancia la query per recuperare dati dal db.

    select.php:
    ...
    $query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE nome='$datoinserito' AND cognome='$datoinserito2'";

    nel menu a tendina della pagina menu.htm:
    ...
    <td align="center" valign="middle" class="CellaDati">

    Seleziona un nome:
    <select name="nome" size="1" id="nome">
    <option value="Marco">Marco</option>
    <option value="Antonio">Antonio</option>
    </select>
    </p>


    Seleziona un cognome:
    <select name="cognome" size="1" id="cognome">
    <option value="Marchi">Marchi</option>
    <option value="Antoni">Antoni</option>
    </select>
    </p></td>

    vorrei inserire nel menu a tendina una voce "seleziona tutti" ( tipo aggiungere <option value="tutto">tutti i da ti in archivio</option>) in modo che nella query siano presi tutti i valori
    ma non so come modificare il file php.

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Aggiungi una <option value="Tutti">Tutti</option>

    e nella select.php avrai
    codice:
    $query = (($_POST['datoinserito1'] == "Tutti") ? "SELECT * FROM anagrafica" : "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE nome='$datoinserito' AND cognome='$datoinserito2'");
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180
    ottimo, funziona!!!

    Approfitto....vorrei capire meglio:
    $query =(($_POST['nome'] == "tutti") ? "SELECT * FROM anagrafica" :

    è tipo if ... then?

    vado avanti con i problemi...
    se ho due menu a tendina (nome cognome) vorrei combinare le scelte possibili così:

    if ($datoinserito = "tutti"){
    if ($datoinserito2 = "tutti") {$query = "SELECT * FROM anagrafica"}
    else {$query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE cognome='$datoinserito2'" ;}
    }
    else {$query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE nome='$datoinserito' ";}

    ma non funziona...errore sulla parentesi }

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ho utilizzato l'operatore ternario:

    condizione ? vero : falso

    l'altro problema non è di parentesi, ma di ; mancante

    codice:
    if ($datoinserito = "tutti") {
      if ($datoinserito2 = "tutti") {
        $query = "SELECT * FROM anagrafica";
      }
      else {
        $query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE cognome='$datoinserito2'";
      }
    }
    else {
      $query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE nome='$datoinserito' ";
    }

    [/CODE]
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180
    ..grazie della risposta lampo!

    il problema è che non esco dalla query globale select *:

    ...
    // recupero del dato inserito nella pagina html
    $datoinserito = $_POST['nome'];
    $datoinserito2 = $_POST['cognome'];

    // preparo la query
    if ($datoinserito = "tutti") {
    if ($datoinserito2 = "tutti") {
    $query = "SELECT * FROM anagrafica";
    }
    else {
    $query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE cognome='$datoinserito2'";
    }
    }
    else {
    $query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE nome='$datoinserito' ";
    }



    ...sigh sigh
    grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    180
    ....ancora bloccato!!!

    mi serve un occhio esterno.
    grazie

    non esco dalla query globale select *:

    ...
    // recupero del dato inserito nella pagina html
    $datoinserito = $_POST['nome'];
    $datoinserito2 = $_POST['cognome'];

    // preparo la query
    if ($datoinserito = "tutti") {
    if ($datoinserito2 = "tutti") {
    $query = "SELECT * FROM anagrafica";
    }
    else {
    $query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE cognome='$datoinserito2'";
    }
    }
    else {
    $query = "SELECT nome, cognome, cod_fisc, eta FROM anagrafica WHERE nome='$datoinserito' ";
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    i confronti si fanno con il doppio =

    if (variabile == valore)...

    e mi scuso di non aver corretto nel tuo codice che ho copiato e incollato. non ci avevo proprio fatto caso.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.