Nel dubbio che sia la sezione giusta, vi chiedo aiuto per il seguente problema:
utilizzando un database su cui sono registrati diversi tipi di prodotti, dove ogni genere di prodotto ha una propria tabella, ho creato una pagina in php che visualizza i prodotti, e per ogni prodotto ho associato una checkbox e una textarea per indicarne la quantità desiderata.
Il valore "name" della checkbox l'ho riempito con il nome del prodotto stesso, essendo univoco, in questo modo :
echo "<input type = 'checkbox' name = '{$array['nome']}' value = '{$array['nome']}'>";
Per quanto riguarda la textarea ho voluto riempire il campo "name" con l'indice del prodotto stesso, in questo modo:
echo "<input type = 'textarea' name = '{$array['id']}'>";
Ma il problema è che essendo che carico più tabelle dal database, mi ritrovo più prodotti con lo stesso id, e quindi mi ritrovo un conflitto con le textarea, perchè ce ne sono più di una con lo stesso "name".
Allora ho pensato di chiamare la textarea anche con il nome del prodotto, in quanto sempre univoco. Ma il problema è che una volta che prendo le variabili con il $_POST, questo non distingue quale ha preso dalla textarea, e quale dalla checkbox.
Esiste un modo per poter fare questa distinzione? Oppure conoscete un'altro metodo per risolvere questo problema?
Quì a seguito inserisco delle porzioni di codice, creato solamente per risolvere il problema, quindi non è la pagina su cui sto lavorando, ma è funzionamento è identico:
PAGINA DOVE VISUALIZZO I PRODOTTI E LI SCELGO
<?php
include 'connessione.php'; // Connetto al database
$query = "SELECT * FROM pizza";
$ris = mysql_query($query) or die("Errore nella query");
echo "<form action = 'ordina.php' method = 'POST'>";
if($ris)
{
while($array = mysql_fetch_array($ris))
{
echo "<input type = 'checkbox' name = 'p{$array['nome']}'>";
echo $array['nome'];
echo "
";
echo "<input type = 'text' name = 'p{$array['id']}'>";
echo "
";
}
}
echo "<input type = 'submit' value = 'Ordina'>";
echo "</form>";
?>
PAGINA CHE DOVREBBE MEMORIZZARE L'ORDINE NEL DATABASE
<?php
include 'connessione.php';
$query = "SELECT * FROM pizza";
$ris = mysql_query($query) or die("Errore nella query");
if($ris)
{
while($array = mysql_fetch_array($ris))
{
@$nome = $_POST[$array['nome']];
@$n = $_POST[$array['id']];
if(isset($nome))
{
echo $array['nome']."x".$n;
echo "
";
}
}
}
?>