Come avevo già detto in una mia precedente discussione ho problemi a gestire
cicli dentro altri cicli (ammesso che la soluzione qui di seguito sia valida almeno teoricamente). Non vogliono
proprio entrami in testa :P ::) ::) ::) >:(
Stampo dati in una pagina ,ordinati in righe e colonne di una tabella, che richiamo dal db.
Nella prima metà di questa tabella richiamo alcuni dati dell'utente che sono inseriti in una tabella mysql;
Nella seconda metà richiamo altri dati sempre relativi all'utente stesso ma che sono memorizzati in un'altra tabella mysql e quindi faccio un bel JOIN per metterli in relazione così:
.......
$query = "SELECT * FROM utentidb ORDER BY username";
$esegui = mysql_query($query);
echo "<center><h2>Modifica dati utenti</h2></center>";
echo"<p><TABLE border=1 cellspacing=\"0\" cellpadding=\"3\">
<TR>
<TD>
<b>Username<b/>
</TD>
<TD align=center>
<b>Email</b>
</TD>
<TD align=center>
<b>Nota</b>
</TD>
<TD align=center>
<b>Testo stampato</b>
</TD>
<TD align=center>
<b>Data inserimento</b>
</TD>
<TD align=center>
<b>ID testo</b>
</TD>
<TD align=center>
<b>Modifica</b>
</TD></TR>";
while ($result = mysql_fetch_array($esegui)) {
$utente=$result["id_user"];
$querycust = mysql_query("SELECT * FROM firme JOIN utentidb ON firme.id_utente=utentidb.id_user
WHERE utentidb.id_user = $utente");
while($rowcust = mysql_fetch_array($querycust) )
{
$testo = $rowcust["scritta"];
$data = $rowcust["data"];
}
echo "<TR>
<TD>
$result[username]
</TD>
<TD>
$result[email]
</TD>
<TD>
$result[nota]
</TD>
<TD> $testo</TD>
<TD> $data</TD>
<TD align=center>
</TD>
<TD align=center>
<FORM action=\"insmodati.php\" method=post>
<input type=\"hidden\" name=\"task\" value=\"mod1\">
<INPUT TYPE=\"RADIO\" name=\"modifica_id\" value=\"$result[id_user]\">
</TD></TR>";
}
.......
Questa è una delle mie "soluzioni" sbagliate ovviamente.
Il problema è che i dati non sono riportati correttamente.
Gli utenti possono essere diciamo 5 (e vengono riportati senza problema)
ma gli altri dati ($testo e $data richiamati da un'altra tabella del db) non è detto che corrispondano.
Ci possono essere 5 utenti e solo 3 di loro possono aver lasciato un commento per esempio.
Vengono stampati invece i dati dei 5 utenti regolarmente (quelli relativi alla prima parte della tabella)
ma i 3 commenti vengono ripetuti anche per gli altri utenti invece che riportare uno spazio bianco nella tabella html dove non ci dovrebbe essere nessun dato.
Non so se sono stato chiaro (magari posto i risultati) ma penso che un occhio esperto possa capire dal codice cosa c'è che non va.
Grazie