Super Board hier!!!
Ich habe mal wieder ein kleines Problem mit meiner Datenbank. Erstmal zur kurzen Erklärung, ich habe unter anderem die Tabellen Foto(mit FotoNr, Titel, FotografenNr ...) und Bewertet(mit FotoNr, Note....).
Ich möchte nun eine Liste haben, in der die 10 Fotos mit den besten Durchschnittsnoten aufgeführt sind (jedes Foto kommt in der Tabelle „Foto“ nur einmal vor und wird in der Tabelle „Bewertet“ von mehreren Nutzern bewertet, die FotoNr ist in der Tabelle „Foto“ Primärschlüssel)und der Titel jeweils verlinkt ist zu dem entsprechenden Foto. Die Fotos sollen in einem Standardsystem abgespeichert werden z.B. http://localhost/FotografenNr/FotoNr.jpg, wobei die FotografenNr und die FotoNr direkt aus dem Ergebnis der MYSQL-Abfrage übernommen werden sollen und dann eben noch die „/“ und das „.jpg“ dazwischen-/dazugefügt werden müssen.
Hier der entsprechende Teil meines Skriptes:
$query="SELECT Foto.FotoNr, Titel, AVG(Note) AS Durchschnittsnote, FotografenNr FROM Foto, Bewertet WHERE Foto.FotoNr = Bewertet.FotoNr GROUP BY Foto.Titel ORDER BY Durchschnittsnote LIMIT 10";
$result=mysql_query($query,$connection);
echo "<table border=1 align=left><tr><td>Fotograf:</td></tr>";
$spaltenzahl=mysql_num_fields($result);
for ($i=0;$i<$spaltenzahl;$i++) {
echo "<th>";
echo mysql_field_name($result,$i);
echo"</th>"; }
while (list($FotoNr, $Titel, $Durchschnitt, $FotografenNr)=mysql_fetch_row($result))
{ echo "<tr>";
echo "<td>"."<a href='http://localhostFotobewertungssystem/'.$FotografenNr.'/'.$FotoNr.'.jpg'>$Titel</a>"."</td>";
for ($i=1;$i<$spaltenzahl;$i++)
{
echo "<td>".$FotoNr.$Durchschnitt.$FotografenNr."</td>";}
echo "</tr>";
}
echo "</table>";
Zum einen geht das mit dem Link irgendwie nicht, weil da wohl irgendwas mit den ganzen Hochkommas und Anführungszeichen falsch sortiert ist und zum anderen, wenn ich das mit dem Link weglasse, wird bei jedem Foto der selbe Durchschnitt, die selbe FotografenNr und die selbe FotoNr (jeweils eine sehr seltsame Kommazahl, die ich mir nicht erklären kann) ausgegeben. Daher ist wohl auch irgendwas an der Schleife falsch.
Wäre super, wenn mir mal wieder jemand helfen könnte.
Ich habe mal wieder ein kleines Problem mit meiner Datenbank. Erstmal zur kurzen Erklärung, ich habe unter anderem die Tabellen Foto(mit FotoNr, Titel, FotografenNr ...) und Bewertet(mit FotoNr, Note....).
Ich möchte nun eine Liste haben, in der die 10 Fotos mit den besten Durchschnittsnoten aufgeführt sind (jedes Foto kommt in der Tabelle „Foto“ nur einmal vor und wird in der Tabelle „Bewertet“ von mehreren Nutzern bewertet, die FotoNr ist in der Tabelle „Foto“ Primärschlüssel)und der Titel jeweils verlinkt ist zu dem entsprechenden Foto. Die Fotos sollen in einem Standardsystem abgespeichert werden z.B. http://localhost/FotografenNr/FotoNr.jpg, wobei die FotografenNr und die FotoNr direkt aus dem Ergebnis der MYSQL-Abfrage übernommen werden sollen und dann eben noch die „/“ und das „.jpg“ dazwischen-/dazugefügt werden müssen.
Hier der entsprechende Teil meines Skriptes:
$query="SELECT Foto.FotoNr, Titel, AVG(Note) AS Durchschnittsnote, FotografenNr FROM Foto, Bewertet WHERE Foto.FotoNr = Bewertet.FotoNr GROUP BY Foto.Titel ORDER BY Durchschnittsnote LIMIT 10";
$result=mysql_query($query,$connection);
echo "<table border=1 align=left><tr><td>Fotograf:</td></tr>";
$spaltenzahl=mysql_num_fields($result);
for ($i=0;$i<$spaltenzahl;$i++) {
echo "<th>";
echo mysql_field_name($result,$i);
echo"</th>"; }
while (list($FotoNr, $Titel, $Durchschnitt, $FotografenNr)=mysql_fetch_row($result))
{ echo "<tr>";
echo "<td>"."<a href='http://localhostFotobewertungssystem/'.$FotografenNr.'/'.$FotoNr.'.jpg'>$Titel</a>"."</td>";
for ($i=1;$i<$spaltenzahl;$i++)
{
echo "<td>".$FotoNr.$Durchschnitt.$FotografenNr."</td>";}
echo "</tr>";
}
echo "</table>";
Zum einen geht das mit dem Link irgendwie nicht, weil da wohl irgendwas mit den ganzen Hochkommas und Anführungszeichen falsch sortiert ist und zum anderen, wenn ich das mit dem Link weglasse, wird bei jedem Foto der selbe Durchschnitt, die selbe FotografenNr und die selbe FotoNr (jeweils eine sehr seltsame Kommazahl, die ich mir nicht erklären kann) ausgegeben. Daher ist wohl auch irgendwas an der Schleife falsch.
Wäre super, wenn mir mal wieder jemand helfen könnte.
Kommentar