Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69

    popolare select con dati da mysql

    ciao a tutti, ho un problema strano e non riesco a trovare l errore.
    ho creato una pagina step1.php contenente un form select, che invia il valore a step2.php, che contiene un altro select, che, in base a cosa ho selezionato nella pagina precedente, deve caricare i valori da un db mysql.

    step1.php
    Codice PHP:
    <form method="post" action="step2.php<? echo "?nome=$nome&numero=$numero";?>">
    <select name="area_manager">
    <option value="indipendente">indipendente</option>
    <?php 
    $connection 
    mysql_connect("xxxxxxx","xxxxxx","xxxxxx");
    $db mysql_select_db("xxxxxxxx"$connection);
    $query "SELECT nominativo FROM area_riservata WHERE numero = 2 ORDER BY nominativo ASC";
    $result mysql_query ($query);
    while ( 
    $row mysql_fetch_assoc($result)){
    echo 
    "<option value=\"".$row['nominativo']."\">".$row['nominativo']."</option>";
        }
    mysql_close($connection);
    ?>
    </select>
    <input type="submit" value="continua" />
    </form>
    step2.php

    Codice PHP:
    <?
    $area_manager 
    $_POST['area_manager'];
    $affiliato $_POST['affiliato'];
    $numero_categoria $_POST['numero_categoria'];
    $username $_POST['username'];
    $password $_POST['password'];
    $nominativo $_POST['nominativo'];
    $telefono $_POST['telefono'];
    $email $_POST['email'];

    if(isset(
    $nominativo) and isset($username) and isset($password) and isset($email) and isset($telefono)and isset($area_manager)){
    $connectionmysql_connect("xxxxx","xxxxxxxxxxx","xxxxxxxxxxx");
    $db=mysql_select_db("xxxxxxxxxxxx",$connection);
    $query="INSERT INTO area_riservata(nominativo , nome , password, telefono, email, numero, area_manager, affiliato) VALUES ('$nominativo', '$username', '$password', '$telefono', '$email', '$numero_categoria', '$area_manager', '$affiliato')";
    $result mysql_query($query)
    or die(
    "query failed: " mysql_error());
    mysql_close($connection);
    }
    ?>
    <form method="post" action="step2.php<? echo "?nome=$nome&numero=$numero";?>">
    <input type="hidden" name="numero_categoria" value="4" />
                        


    <select name="affiliato"><option value="indipendente">indipendente</option>
    <?php
    if ($area_manager != "indipendente"){
    $connection mysql_connect("xxxxxxx","xxxxxxxx","xxxxxxx");
    $db mysql_select_db("xxxxxxxx"$connection);
    $query "SELECT nominativo FROM area_riservata WHERE area_manager = $area_manager ORDER BY nominativo ASC";
    $result mysql_query ($query);
    while ( 
    $row mysql_fetch_assoc($result)){
    echo 
    "<option value=\"".$row['nominativo']."\">".$row['nominativo']."</option>";
        }
    mysql_close($connection);
    }
    else {
    $connection mysql_connect("xxxxxxxx","xxxxxxxx","xxxxxxxx");
    $db mysql_select_db("xxxxxxxx"$connection);
    $query "SELECT nominativo FROM area_riservata WHERE numero = 3 ORDER BY nominativo ASC";
    $result mysql_query ($query);
    while ( 
    $row mysql_fetch_assoc($result)){
    echo 
    "<option value=\"".$row['nominativo']."\">".$row['nominativo']."</option>";
        }
    mysql_close($connection);
    }
    ?>
    </select>
    </p>
     


    <input type="text" name="nominativo" />
     <span class="Stile15">nominativo</span> <span class="CSS1 Stile16">(nome e cognome)</span> </p>

                        



                          <input type="text" name="username" />
                    <span class="Stile15">username</span> <span class="CSS1 Stile16">(da 
                    4 a 20 caratteri alfanumerici)</span> </p>

                        



                          <input type="text" name="password" />
                    <span class="Stile15">password</span> <span class="CSS1 Stile16">(da 
                    4 a 20 caratteri numerici)</span></p>

                        



                          <input type="text" name="telefono" />

                        <span class="Stile15">telefono</span></p>

                        



                          <input type="text" name="email" />

                        <span class="Stile15">email</span></p>

                        


                          <input name="submit" type="submit" value="carica" />
                        </p>
                  </form>
    se dalla prima pagina sgelgo "indipendente" nella select della seconda pagina mi deve vedere tutti i record, invece se seleziono un nominativo, mi deve vedere selo i record che hanno quel nominativo nel campo area_manager, e poi salvare la nuova registrazione nel db.
    il problema è che se seleziono indipendente vedo tutti i recorr, invece se seleziono un nominativo, nella select di step2.php non mi visualizza niente

    che c è di sbagliato?

  2. #2
    se fai così potrebbe andare??

    if( scelta == indipendente)
    {
    $query = "query che sceglie tutto";
    }
    if(scelta!=indipendente)
    {
    $query = "queryc he sceglie solo quelli con quel nome";
    }


    adattalo meglio al tuo caso e fammi sapere
    ciau

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    si già avevo provato cosi ma lo stesso non va

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    nessun aiuto?

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120

    Re: popolare select con dati da mysql

    Originariamente inviato da marianox
    se seleziono un nominativo, mi deve vedere selo i record che hanno quel nominativo nel campo area_manager
    ...e quel "WHERE numero = 3" cosa significherebbe?

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    è una struttura multilivello

    1 = amministratore
    2 = area manager
    3 = convenzionati
    4 = affiliati

    quel 3 significa che mi deve selezionare tutti i convenzionati che hanno per area manager il nominativo scelto nel primo select

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Azz.. avevo letto le query al contrario
    Allora, facciamo un po' d'ordine


    1) Perché apri e chiudi la connessione per ogni query?
    2) Dopo OGNI istruzione diretta a mysql devi aggiungere il controllo sull'esito
    $result = mysql_query ($query) or die(mysql_error());

    3) Il valore della variabile nella query deve stare fra apici
    WHERE area_manager = '$area_manager'

    4) Su tutte le variabili che vanno in pasto a una query (almeno se non sei sicuro che siano numeriche) va fatto l'escape
    $area_manager = mysql_real_escape_string($_POST['area_manager']);

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    scusa se rispondi solo ora ma tra lavoro e problemi di connessione, non ho potuto farlo prima

    grazie per l aiuto, avevo dimenticato gli apici nella query, ciao

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.