- Home
- Categorie
- Coding e Sistemistica
- PHP
- Select su un secondo campo in base alla scelta del primo campo
-
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]
-
Lo devi fare utilizzando Ajax. Cerca con google "ajax second field". Troverai moltissime pagine che ti spiegano come farlo.
M.
-
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