• User Newbie

    Select su un secondo campo in base alla scelta del primo campo

    Ciao a tutti,

    ho un piccolo porgramma di magazzino dove devo ricervere i buoni di prelevamente merce. Ora nella form in oggetto vorrei che il secondo campo DESCRIZIONE facesse una select sulla base della scelta del primo campo CATEGORIA.

    In altre parole, se vogli del pesce devo presentare i record della categoria pesce e non anche quelli delle altre categorie 8sono centinaia di voci)

    Grazie a chi puo' aiutarmi,

    marco

    [php]<form action="ins_buono2.php" method="post" enctype="multipart/form-data" name="form" id="form">
    <table width="100%">
    <tr>
    <td height="22" valign="middle" bgcolor="#ffffff">Categoria </td>
    <td height="22" valign="middle" bgcolor="#ffffff">Descrizione</td>
    <td height="22" valign="middle" bgcolor="#ffffff">Quantità Decimali</td>
    </tr>
    <tr>
    <td height="22" valign="middle" bgcolor="#ffffff">
    <?php
    include("conf.inc.php");
    $sql1 = "SELECT categoria FROM magazzino ORDER BY categoria";
    $query1 = mysql_query ($sql1, $connessione) or die ("Problemi di connessione al database");
    echo "  1 <select name="categoria" id="categoria" >
    <option></option>";
    while ($row = mysql_fetch_array($query1))
    {
    extract($row);
    echo "<option value='$categoria'>$categoria</option>\n";
    }
    echo "</select> </td>";
    ?>
    <td height="22" valign="middle" bgcolor="#ffffff">
    <?php
    include("conf.inc.php");
    $sql1 = "SELECT descrizione FROM magazzino ORDER BY descrizione";
    $query1 = mysql_query ($sql1, $connessione) or die ("Problemi di connessione al database");
    echo "<select name="descrizione" id="descrizione" >
    <option></option>";
    while ($row = mysql_fetch_array($query1))
    {
    extract($row);
    echo "<option value='$descrizione'>$descrizione</option>\n";
    }
    echo "</select> </td>";
    ?>
    <td height="22" valign="middle" bgcolor="#ffffff">
    <input name="quantita" type="text" size="4" maxlength="4"> .
    </input>
    <input name="decimali" type="text" value="00" size="3" maxlength="2">
    </input></td>
    </tr>
    <tr>
    <td valign="middle" bgcolor="#ffffff">
    <?php
    include("conf.inc.php");
    $sql2 = "SELECT categoria FROM magazzino ORDER BY categoria";
    $query2 = mysql_query ($sql2, $connessione) or die ("Problemi di connessione al database");
    echo "  2 <select name="cat2" id="cat2" >
    <option></option>";
    while ($row = mysql_fetch_array($query2))
    {
    extract($row);
    echo "<option value='$categoria'>$categoria</option>\n";
    }
    echo "</select> </td>";
    ?>
    <td valign="middle" bgcolor="#ffffff">
    <?php
    include("conf.inc.php");
    $sql2 = "SELECT descrizione FROM magazzino ORDER BY descrizione";
    $query2 = mysql_query ($sql2, $connessione) or die ("Problemi di connessione al database");
    echo "<select name="desc2" id="desc2" >
    <option></option>";
    while ($row = mysql_fetch_array($query2))
    {
    extract($row);
    echo "<option value='$descrizione'>$descrizione</option>\n";
    }
    echo "</select> </td>";
    ?>
    <td height="22" valign="middle" bgcolor="#ffffff">
    <input name="quantita" type="text" size="4" maxlength="4"> .
    </input>
    <input name="decimali" type="text" value="00" size="3" maxlength="2">
    </input></td></tr></table>

    <table width="100%">
    <tr>
    <td height="22" colspan="3" align="center" bgcolor="#ffffff"><p><br /><br />
    <?php echo "<input type="hidden" name="ultimo_id" value="$ultimo_id">"; ?>
    <input name="Submit" type="submit" value="Invia" - enter="Enter" />
    </td>
    </tr>
    </table>
    </form>[/php]


  • Super User

    Lo devi fare utilizzando Ajax. Cerca con google "ajax second field". Troverai moltissime pagine che ti spiegano come farlo.

    M.


  • User Attivo

    Ma le variabili $categoria e $descrizione dove le hai dichiarate?
    Non vuoi che vengano scelte le descrizioni in base alla categoria scelta?
    Se si dovrai dichiarare le variabili e passarle via GET per poi fare il controllo del GET in modo da selezionare (es. la descrizione) solo se viene fatta la scelta precedente.
    Sforzati non è difficile.
    CIAO e fammi sapere