Ciao a tutti, ho un problema nell'inserire in un DB MySQL piu record nella stessa query.
Mi spiego meglio, l'utente dopo aver inserito i suoi dati (e salvati nel DB) viene indirizzato ad una pagina dove gli si mostra una serie di piatti che lui puo scegliere spuntando una checkbox e selezionare la quantita'. Fino qui tutto ok, il problema mi viene quando vado a d eseguire la query, non mi inserisce nulla o quasi..!
posto il codice:
Codice PHP:
<?
require("connessione.php");
$sql = "insert into tbl_clienti (id_cliente,nome,cognome,telefono,email) values ( '','".$nome."','".$cognome."','".$telefono."','".$email."')";
// eseguo la sql
mysql_db_query( $nome_db, $sql, $db) or die(mysql_error());
// faccio la select per sapere id del record inserito
$risultato = "select max(id_cliente) as valore from tbl_clienti";
$rs = mysql_db_query( $nome_db, $risultato, $db) or die(mysql_error());
$row = mysql_fetch_array( $rs );
$id_cliente = $row["valore"];
//print ("max id_cliente e':" .$id_cliente);
//echo "
";
//echo $sql;
$sql = "select nome, cognome from tbl_clienti where id_cliente = " .$id_cliente.
mysql_db_query( $nome_db, $sql, $db) or die(mysql_error());
echo "
";
echo "<font face=Verdana style=font-size:11px>";
echo "Ciao [b]$nome $cognome[/b] seleziona i tuoi piatti...";
echo "
";
//visualizzo il menu
?>
<FORM ACTION="conferma_ordine.php" METHOD="post" name="conferma_ordine">
<?
echo "<font face=verdana size=2 color =#000000>";
echo "[b]Antipasti[/b]
";
echo "</font>";
echo"<table border=0 cellspacing=0 collspacing=0 width=100% style=border-collaspe:collaspe bordercolor=#000000>";
$sql = "SELECT * from tbl_menu_2 where tipo = '1' and in_menu = 'Y'";
$prt_antipasti = mysql_db_query($nome_db, $sql, $db) or die(mysql_error());
while ($riga = mysql_fetch_array( $prt_antipasti ) )
{
echo "<tr bgcolor='$colorRow'>";
echo "<td width=50%>";
echo "<font face=verdana size=1 color=black>";
echo "[b]".$riga["piatto"]."[/b]";
echo "</font>";
echo "</td>";
echo "<td width=10% align=right>";
echo "<font face=verdana size=1 color=black>";
echo "[b]".$riga["prezzo"]."€[/b]";
echo "</font>";
echo "</td>";
echo"<td width=10%>";
echo "<input type=checkbox value=".$riga['piatto']." name=piatto>";
echo "</td>";
echo "<td width=20%><font face=verdana size=1 color=black>n° piatti</font>";
echo "<select name=qta style=font-size:11px; font-family: arial; color:black; background-color:#ffffff; bordercolor:#000000 BORDER:1>";
echo "<option value=1>1</option>";
echo "<option value=2>2</option>";
echo "<option value=3>3</option>";
echo "<option value=4>4</option>";
echo "<option value=5>5</option>";
echo "<option value=6>6</option>";
echo "<option value=more>more</option>";
echo "</select>";
echo "</td>";
echo "</tr>";
}
echo "<tr><td colspan=4><INPUT TYPE=submit VALUE=CONFERMAORDINE style=font-size:11px; font-family:verdana; color:white; background-color:#c0c0c0; BORDER:1></td></tr>";
echo "</table>";
echo "
";
echo "</form>";
la pagina conferma_ordine
Codice PHP:
require ("connessione.php");
$sql = "insert into tbl_ordine(id,id_cliente,piatto,prezzo,qta)";
$sql = $sql."values('','".$id_cliente."','".$piatto."','".$prezzo."','".$qta."')";
$result = mysql_db_query( $nome_db, $sql, $db) or die(mysql_error());
//echo $sql;
Il problema, oltre a che non inserisce niente e' che devo fare in modo che l'utente possa scegliere piu piatti alla volta, premetto che con i cicli e gli array sono un disastro.!!!
Altro problema, faccio un esempio;
se il piatto si chiama: insalata verde, nel DB mi inserisce solo "insalata".
Grazie a tutti per il vostro aiuto.