Mi capita una cosa strana: richiamo dei dati da un db MySql, con questo codice:
Codice PHP:
$result = mysql_query("SELECT * FROM `artdata` GROUP BY name");
while ($row = mysql_fetch_array($result)) {
$name = $row["name"];
$name2 = str_replace("§","'","$name");
$nation = $row["nation"];
if ($nation !== "") {
$nation2 = $nation;
} else {
$nation2 = "unknown";
}
echo "Artist: [b]<font color=\"#FF6600\">" . $name2 . "</font>[/b] ([i]" . $nation2 . "[/i])
";
$result1 = mysql_query("SELECT * FROM `artdata` WHERE name = '$name'");
while ($row1 = mysql_fetch_array($result1)) {
$vid = $row1["video"];
if ($row1["edition"] == 1) {
echo "Video: [b]" . $vid . "[/b] - [i]<font color=\"#666666\">(1st edition)</font>[/i]";
} else if ($row1["edition"] == 2) {
echo "Video: [b]" . $vid . "[/b] - [i]<font color=\"#666666\">(2nd edition)</font>[/i]";
}
$winn = $row1["winner"];
if ($winn == "yes") {
echo " ([b]selected[/b])
";
} else {
echo "
";
}
}
echo "
";
}
Funziona tutto bene, con una eccezione: un dato, uno solo!, viene duplicato. Ovvero, uno dei nominativi inseriti nel db viene presentato due volte di seguito nella pagina.
Per la precisione, la pagina presenta questa sequenza:
Artist: Giles Fabian (unknown)
Video: Acapulco - (2nd edition)
Video: Pemex night - (2nd edition)
Video: Don Julio - (2nd edition)
Video: Loonass - (2nd edition)
Artist: Giles Fabian (unknown)
Video: Acapulco - (2nd edition)
Video: Pemex night - (2nd edition)
Video: Don Julio - (2nd edition)
Video: Loonass - (2nd edition)
Nel database, non c'è niente di particolare, o che distingua questo dato da tanti altri. Per ciascuna riga, è presente il numero progressivo di id (rispettivamente, 21-22-23-24), il nome (campo name), la mail (campo mail), il riferimento all'edizione (campo edition). Niente di diverso da cento (oltre 400, per la precisione) altri dati.
E allora perchè proprio questo viene duplicato?