Benjamin Kuehn: Brauche Hilfe bei Forums-Programmierung

Hi,

ich bin momentan dabei, ein kleines Board für eine interne Seite zu bauen.
Ich habe bislang zwei Datenbanktabellen dafür angelegt. wob4u_foren und wob4u_threads

In der ersten Tabelle (_foren) werden die einzelnen Oberthemen gespeichert. In der Tabelle _threads sollen die einzelenen Threads gespeichert
werden. Dazu gibt es die Zeile forum, in der dann die Bezeichnung des entsprechenden Forums aus der Tabelle _foren geschrieben wird. So werden
bei der Ausgabe der einzelnen Foren nur jeweils die Threads angezeigt, die in der Zeile foren die entsprechende Kategorienbezeichnung haben.

Nun möchte ich in der Übersicht bei jedem Forum eine Anzeige des neuesten Postings mit dem Titel dazu haben. Ich habe es folgendermaßen versucht:

<?php

for($x=0; $x<$anzahl; $x++)
  {
    $blup = mysql_query("SELECT * FROM wob4u_threads WHERE forum = '$ergebnis[$x][titel]' order by id DESC", $verbindung);
 for($y=0; $y<2; $y++)
 {
 $letzter[$y] = mysql_fetch_array($blup);
 }
    echo " <tr bgcolor="#FFFFFF">
    <td width="473" style="padding: 5px;">
      <strong><a href="uebersicht.php?kategorie=".$ergebnis[$x][titel]."">".$ergebnis[$x][titel]."</a><br><span style="font-size: 10px; color: #666666;">".$ergebnis[$x][beschreibung]."</span>
    </td>
    <td width="274" style="font-size: 9px; padding: 5px;" align="right">"".$letzter[0][thema].""
      - Autor<br>
      01.04.04 - 14:13:21 <img src="gfx/last.gif" width="18" height="9" border="0"></td>
  </tr>";
  }
  ?>

Ich versuche hier mit einer for-Schleife jeweils die Threads mit der entsprechenden Kategorie auszulesen und nur den aktuellesten auszugeben.
Jedoch wird mir rein gar nichts angezeigt. Das Auslesen an sich scheint zu klappen, da auch keine Fehlermeldung oder sonstiges angezeigt wird.

Könnte mir vielleicht jemand sagen, wo mein Denkfehler liegt? Irgendwie krieg ich es nach einigen Stunden, die ich insgesamt an der Programmierung der Seite sitze, nicht mehr geregelt meinen Fehler zu entdecken. Vielleicht hat auch jemand Ansätze für eine wesentlich komfortablere Lösung? Ich wollte nicht für jedes Thema eine Extra-Tabelle anlegen, da das doch sehr platzintensiv und unübersichtlich werden würde, oder?

Vielen Dank im Voraus für eure Mühe und viele Gruesse
Ben

--
Phantasie ist wichtiger als Wissen. - Albert Einstein
  1. Hi,

    Dazu gibt es die Zeile forum, in der dann die Bezeichnung des entsprechenden Forums aus der Tabelle _foren geschrieben wird.

    besser wäre die ID.

    $blup = mysql_query("SELECT * FROM wob4u_threads WHERE forum = '$ergebnis[$x][titel]' order by id DESC", $verbindung);

    Die ID ist für *alles* andere als die IDentifikation eines Datensatzes *absolut ungeeignet*. Benutze den Einstellungszeitpunkt, welchen Du sicher auch mitgespeichert hast.

    [...]<span style="font-size: 10px; [...]

    Pixel sind eine für die Bildschirmdarstellung von Schriften ungeeignete Einheit. Benutze % oder em.

    01.04.04 - 14:13:21

    Interessant :-)

    <img src="gfx/last.gif" width="18" height="9" border="0">

    ERROR: Required attribute "alt" missing.

    Jedoch wird mir rein gar nichts angezeigt.

    Das SQL-Statement stimmt inhaltlich?

    Könnte mir vielleicht jemand sagen, wo mein Denkfehler liegt?

    Also, ich verstehe zumindest nicht die for-Schleife um das Auslesen der Daten.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hi,

      Dazu gibt es die Zeile forum, in der dann die Bezeichnung des entsprechenden Forums aus der Tabelle _foren geschrieben wird.

      besser wäre die ID.

      Hm, das stimmt wohl... Geht auch schneller oder? Werde ich wohl mal ändern.

      $blup = mysql_query("SELECT * FROM wob4u_threads WHERE forum = '$ergebnis[$x][titel]' order by id DESC", $verbindung);

      Die ID ist für *alles* andere als die IDentifikation eines Datensatzes *absolut ungeeignet*. Benutze den Einstellungszeitpunkt, welchen Du sicher auch mitgespeichert hast.

      Ja, habe ich.

      [...]<span style="font-size: 10px; [...]

      Pixel sind eine für die Bildschirmdarstellung von Schriften ungeeignete Einheit. Benutze % oder em.

      Öhm, okay. Werde mal sehen. Habe ich bislang eigentlich immer gemacht ... -.- Sollte ich wohl dann allgemein nicht mehr.

      01.04.04 - 14:13:21

      Interessant :-)

      *gg* Ja, da habe ich angefangen und es erstmal nur als Platzhalter eingesetzt ;-)

      <img src="gfx/last.gif" width="18" height="9" border="0">

      ERROR: Required attribute "alt" missing.

      Naja, ist ja für den reibungslosen Ablauf nicht so wichtig, eher für die Korrektheit. Werde ich aber einbauen. Danke für den Hinweis. :-)

      Jedoch wird mir rein gar nichts angezeigt.

      Das SQL-Statement stimmt inhaltlich?

      Tut es. Ich habe es mal so in phpMyAdmin eingegeben und mir wird der richtige Datensatz angezeigt.

      Könnte mir vielleicht jemand sagen, wo mein Denkfehler liegt?

      Also, ich verstehe zumindest nicht die for-Schleife um das Auslesen der Daten.

      Es geht ja darum, in der Übersicht nur das aktuellste Thema anzeigen zu lassen. Das Problem ist, dass es 4 Unterkategorien gibt. Darum diese for-Schleife.

      Viele Gruesse und auf jeden Fall schonmal Danke! :-)
      Ben

      --
      Phantasie ist wichtiger als Wissen. - Albert Einstein
      1. Könnte mir vielleicht jemand sagen, wo mein Denkfehler liegt?

        Also, ich verstehe zumindest nicht die for-Schleife um das Auslesen der Daten.
        Es geht ja darum, in der Übersicht nur das aktuellste Thema anzeigen zu lassen. Das Problem ist, dass es 4 Unterkategorien gibt. Darum diese for-Schleife.

        Viele Gruesse und auf jeden Fall schonmal Danke! :-)
        Ben

        Hallo Ben,

        Cheatah hat mich neulich auf was gebracht ... schau Dir das SQL Statement mal im Quelltext an, evtl. ist dort mehr als Du siehst ... ;). In meinem Fall war hinter einer Variable im Statement ein </td> versteckt ... ;)

        1. Hi aitee,

          Cheatah hat mich neulich auf was gebracht ... schau Dir das SQL Statement mal im Quelltext an, evtl. ist dort mehr als Du siehst ... ;). In meinem Fall war hinter einer Variable im Statement ein </td> versteckt ... ;)

          Danke für diesen Tipp, aber da steht rein gar nichts... :-( Ich glaube, ich bau die komplette Struktur der Tabellen usw. um oder? Ich kapiere es einfach nicht.

          Viele Gruesse
          Ben

          --
          Phantasie ist wichtiger als Wissen. - Albert Einstein
          1. Danke für diesen Tipp, aber da steht rein gar nichts... :-( Ich glaube, ich bau die komplette Struktur der Tabellen usw. um oder? Ich kapiere es einfach nicht.

            Also wenn Dein SQL Statement geht und es keine Fehlermeldung wirft, liegt es nicht an der DB ...

        2. Könnte mir vielleicht jemand sagen, wo mein Denkfehler liegt?

          Also, ich verstehe zumindest nicht die for-Schleife um das Auslesen der Daten.
          Es geht ja darum, in der Übersicht nur das aktuellste Thema anzeigen zu lassen. Das Problem ist, dass es 4 Unterkategorien gibt. Darum diese for-Schleife.

          Viele Gruesse und auf jeden Fall schonmal Danke! :-)
          Ben

          Hallo Ben,

          Cheatah hat mich neulich auf was gebracht ... schau Dir das SQL Statement mal im Quelltext an, evtl. ist dort mehr als Du siehst ... ;). In meinem Fall war hinter einer Variable im Statement ein </td> versteckt ... ;)

          Viele Gruesse
          Ben

          --
          Phantasie ist wichtiger als Wissen. - Albert Einstein
          1. Hach, was hab ich denn jetzt wieder gemacht? Sorry...

            Viele Gruesse
            Ben

            --
            Phantasie ist wichtiger als Wissen. - Albert Einstein