Salve a tutti ragazzi. Ho un problema (mavà) che mi tormenta.
Posterò il codice, ma la mia è più una domanda di concetto, e poi spiegherò il perchè.
Senza badare troppo al codice, il mio problema è che mi dà errore nel secondo fetch_assoc.$result = $mysqli->query("SELECT product.".$lang_prod." AS name, product.code AS code, product.".$price." AS price, product.color AS color, cart.quantity AS quantity FROM product LEFT JOIN cart ON product.code = cart.code WHERE cart.user = '".$_SESSION['username']."' ORDER BY cart.code ASC", MYSQLI_USE_RESULT);
while($row = $result->fetch_assoc())
{
{
$array_parole = explode(" ", $row['color']);
$numero_parole = count($array_parole);
printf("<tr><td bgcolor=\"#FFFFFF\">".$row['code']."</td>
<td bgcolor=\"#FFFFFF\">".$row['name']."</a></td>
<td bgcolor=\"#FFFFFF\" align=\"center\">
<select name=\"color\">");
for ($cont = 0; $cont < $numero_parole; $cont++)
{
$result2 = $mysqli->query("SELECT * FROM colors WHERE id ='".$array_parole[$cont]."'");
while($row2 = $result2->fetch_assoc())
{
printf("<option value=\"".$row2['name']."\">".$row2['name']."</option>");
}
}
In sostanza c'è una tabella che preleva dei prodotti, i quali hanno un campo nel db con i colori che possono avere. Li ho messi tramite il loro ID in un'altra tabella, così nel campo posso avere ad esempio "3 9 10". Da qui l'idea dell'explode.
Così ho $numero_parole che mi dice QUANTI colori ha ogni prodotto. Con il for e la successiva query vorrei ripescarne il nome, il colore da visualizzare ecc...
La seconda query, messa in un file a parte, funziona bene! Mentre nidificata nella prima no! Da qui il dubbio che non possano convivere in pace.
Avreste qualche consiglio, non proprio tecnico, ma sopratutto concettuale?
Grazie a tutti!!!