hallo zusammen
ich bossle mir einen einfachen blog zusammen; ich bin kein php-profi und muss oft lange knobeln, bis ich was erreiche. hier aber bleibe ich stecken.
problem:
- zu einem bestimmten beitrag können kommentare abgegeben werden;
- manuell "erteile" ich das ok, indem ich via db-verwaltung in der kommentartabelle die betr. id des beitrages einsetze, nämlich im kommentar.zu_id;
- danach "hängt" sich der kommentar an den beitrag;
- alles klappt bestens, nur: bei jedem kommentar erscheint der beitrag noch einmal. bei vier kommentaren erscheinen vier beiträge;
die tabellen für beiträge und tabellen habe ich also "verknüpft", aber die ausgabe ist unsauber.
ich wäre froh, wenn ich mein ziel erreichen kann, das so nahe liegt.
hier der code, vereinfacht
Ich weiss, dass die Logik nicht stimmt. resp. dass das Resultat so aussehen muss (mit SELECT DISTINCT erreiche ich auch nichts). im prinzip muss ich ja die kommentare sammeln und dann an den einen beitrag hängen (mit array? aber wie?). nur: so tief geht mein wissen noch nicht.
wer kann mir das verständlich erklären?
ich bossle mir einen einfachen blog zusammen; ich bin kein php-profi und muss oft lange knobeln, bis ich was erreiche. hier aber bleibe ich stecken.
problem:
- zu einem bestimmten beitrag können kommentare abgegeben werden;
- manuell "erteile" ich das ok, indem ich via db-verwaltung in der kommentartabelle die betr. id des beitrages einsetze, nämlich im kommentar.zu_id;
- danach "hängt" sich der kommentar an den beitrag;
- alles klappt bestens, nur: bei jedem kommentar erscheint der beitrag noch einmal. bei vier kommentaren erscheinen vier beiträge;
die tabellen für beiträge und tabellen habe ich also "verknüpft", aber die ausgabe ist unsauber.
ich wäre froh, wenn ich mein ziel erreichen kann, das so nahe liegt.
hier der code, vereinfacht
PHP-Code:
<?
$query = 'SELECT beitrag.id, kommentar.zu_id
FROM beitrag
LEFT JOIN kommentar
ON beitrag.id = kommentar.zu_id
ORDER BY beitrag.datum DESC;
$result = mysql_query($query);
$num = mysql_numrows($result);
for ($i = 0; $i <$num; $i++)
{
$row = mysql_fetch_array($result);
echo "beitrag";
echo "kommentar";
}
?>
wer kann mir das verständlich erklären?
Kommentar