estraggo dal DB il nome del piatto, il prezzo e con una checkbox posso decidere quale piatto scelgo, naturalmente posso scegliere piu di un piatto, fino qui tutto ok.
Il problema e' che (in questo caso ho 4 piatti) se seleziono tutti i piatti, il prezzo viene inserito correttamente per ogni piatto, ma se per esempio seleziono solo 2 piatti il prezzo non e' il corretto, mi inserisce per tutti e due i piatti il prezzo del primo piatto!
Codice PHP:
<?php
require("connessione.php");
if (!isset($_POST['do_insert']))
{
$sql = "SELECT * from tbl_menu_2 where tipo = '1' and in_menu = 'Y'";
$result = mysql_db_query($nome_db, $sql, $db) or die(mysql_error());
$table = "<table border=\"1\">\n";
$i = 0;
$piatto_id = array();
$prezzo_id = array();
$table .= "<form action=\"\" method=\"POST\">";
while ($row=mysql_fetch_array($result))
{
$piatto_id[$i] = $row['piatto'];
$prezzo_id[$i] = $row['prezzo'];
$table .= "<tr>\n";
$table .= "<td>\n" . $piatto_id[$i] . "<input name=\"piatto[]\" type=\"checkbox\" value=\"" . $piatto_id[$i] . "\"></td>\n";
$table .= "<td>\n";
$table .= "".$prezzo_id[$i]."";
$table .= "</td>\n";
$table .= "<tr>\n";
$table .= "<td>\n<input type=\"hidden\" name=\"prezzo[]\" value=\"".$prezzo_id[$i]."\"></td>\n";
$table .= "</tr><tr><td>\n";
$i++;
}
$table .= "<input name=\"do_insert\" type=\"submit\" value=\"inserisci ordine\"></form>\n";
$table .= "</td></tr>\n";
$table .= "</table>\n";
echo $table;
}
else{
$sel_piatto = $_POST['piatto'];
$sel_prezzo = $_POST['prezzo'];
for($i=0;$i<sizeOf($sel_piatto);$i++)
{
$sql = "INSERT into tbl_ordine SET piatto='" .$sel_piatto[$i] ."', prezzo='".$sel_prezzo[$i]."'";
$result = mysql_db_query($nome_db, $sql, $db) or die(mysql_error());
}
}
?>
Chi mi da una mano?
Grazie!