Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] php-Forum mit MySQL

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] php-Forum mit MySQL

    Hallo Ihr Lieben,

    zurück zu meinem Forum-Problem (Beiträge 'sortieren???' & 'Hilfe ... php-For...')
    Ich hätte nochmal eine Frage:
    Ich hab jetzt auf der Startseite des Froums mit reingebracht, wann der letzte Beitrag in dem Bereich gepostet wurde. Jetzt würd ich gern noch den Usernamen und evtl. das Topic mit auflisten.

    Hier der Code zu meiner Anfangsseite, was mache ich falsch?
    Code:
    //print
    echo "<font face=Verdana size=2><font size=3>Forum</font>
    ";
    echo "Unten könnt Ihr einen Bereich auswählen, in dem Ihr einen Beitrag
    ";
    echo "schreiben / lesen wollt.
    <hr>
    
    ";
    
    while($row = mysql_fetch_array($res)){
        $fid=$row['id'];
        
    	echo "<font face=Verdana size=2>";
    	echo "<a href=\"showthreads.php?fid=".$row["id"]."\">";
    	echo $row["name"]."</a>
    ";
    	echo $row["description"]."</font>
    ";
    
    	$result = mysql_query("select count(*) AS anzahl from ForumThreads where fid='$fid'");
     	$array = mysql_fetch_array($result);
    	echo "
    Beiträge: ".$array['anzahl']."
    ";
    
    	$letztes = mysql_query("select max(created) AS last from ForumAnswers where fid='$fid'");
    	$ar = mysql_fetch_array($letztes);
    	echo "<font color='#666666'>letzter Beitrag am: ".$ar['last'];
    	
    
    ----> das soll das mit dem User sein.
    	//$letz = mysql_query("select '$user' from ForumAnswers where fid='$fid'");
    	//$arr = mysql_fetch_array($letz);
    	//echo " von: ".$arr['user']."</font>
    ";
    
    	echo "<hr>";
    }
    ?>
    Danke für Eure Hilfe.

  • #2
    achso, ich vergaß, es ist ein ganz einfaches forum:

    es gibt 3 tabellen:
    - forum(dort stehen die oberthemen drin)
    - ForumThreads (für die topics)
    - ForumAnswers (die ganzen antworten)

    Um sich das ganze an zu schauen:
    http://www.jtsc-griesheim.de/forum/showforum.php

    Kommentar


    • #3
      keiner eine idee, warum es nicht geht?

      Kommentar


      • #4
        Ich nehme mal an das deine Tabelle in etwa so aussieht:
        - ID
        - user
        - fid
        ...

        Da du den User auslesen willst, musst du
        Code:
        $letz = mysql_query("select user from ForumAnswers where fid='$fid'");
        verwenden, da du ja den User auslesen willst, der den Beitrag geschrieben hat.
        mfg RudiS

        Kommentar


        • #5
          super stimmt, das geht,

          und mit dem topic dann so ähnlich oder?

          Kommentar


          • #6
            Natürlich. Da kannst du dann sowas nehmen:
            Code:
            $letz = mysql_query("select topic from ForumThreads where fid='$fid'");
            Musst du natürlich noch topic anpassen.
            mfg RudiS

            Kommentar


            • #7
              wie topic anpassen?

              Kommentar


              • #8
                Na ja, du hast ja den Topicnamen unter einem Feld in ForumThreads gespeichert. Ich hab den jetzt mal topic genannt, du musst ihn nun an deinen anpassen.
                mfg RudiS

                Kommentar


                • #9
                  hm ... da zeigt er mir aber immer nur das erste eingetragene topic
                  wie kann ich das vom letzten eintrag nehmen?

                  Kommentar


                  • #10
                    Wie sieht denn deine Tabelle ForumThreads aus?
                    mfg RudiS

                    Kommentar


                    • #11
                      id, fid, topic, created(was sich aber auf das topic, nicht die antwort, bezieht)

                      Kommentar


                      • #12
                        ich seh auch grad das der username doch nicht stimmt, da wird auch der, der als erstes eingetragen hat angezeigt.

                        hier nochmal der geänderte code:
                        Code:
                        $res = mysql_query("select * from Forum");
                        
                        
                        
                        //print
                        echo "<font face=Verdana size=2><font size=3>Forum</font>
                        ";
                        echo "Unten könnt Ihr einen Bereich auswählen, in dem Ihr einen Beitrag
                        ";
                        echo "schreiben / lesen wollt.
                        <hr>
                        
                        ";
                        
                        while($row = mysql_fetch_array($res)){
                            $fid=$row['id'];
                            
                        	echo "<font face=Verdana size=2>";
                        	echo "<a href=\"showthreads.php?fid=".$row["id"]."\">";
                        	echo $row["name"]."</a>
                        ";
                        	echo $row["description"]."</font>
                        ";
                        
                        	$result = mysql_query("select count(*) AS anzahl from ForumThreads where fid='$fid'");
                         	$array = mysql_fetch_array($result);
                        	echo "
                        Beiträge: ".$array['anzahl']."
                        ";
                        
                        	$letztes = mysql_query("select max(created) AS last from ForumAnswers where fid='$fid'");
                        	$ar = mysql_fetch_array($letztes);
                        	echo "<font color='#666666'>letzter Beitrag am: ".$ar['last'];
                        	
                        	$letz = mysql_query("select user from ForumAnswers where fid='$fid'");
                        	$arr = mysql_fetch_array($letz);
                        	echo " von: ".$arr['user'];
                        	
                        	$letzt = mysql_query("select topic from ForumThreads where fid='$fid'");
                        	$arra = mysql_fetch_array($letzt);
                        	echo ", Thema: ".$arra['topic']."</font>
                        ";
                        
                        	echo "<hr>";
                        }

                        Kommentar


                        • #13
                          Sorry, ich glaube ich hab deine mySQL-Struktur missverstanden.
                          So müsste es dann aber funktioniren:
                          Code:
                          $sql = "SELECT
                                    user
                                  FROM
                                    ForumAnswers
                                  WHERE
                                    fid = '$fid'
                                  ORDER BY
                                    ID DESC
                                  LIMIT
                                    1";
                          entsprechend dann beim Topic.
                          mfg RudiS

                          Kommentar


                          • #14
                            das geht, nur das mit dem topic noch nicht. hab das auch so mit dem topic probiert.
                            muss ich dort anstelle ForumAnswers ... ForumThreads nehmen?

                            Kommentar


                            • #15
                              Das ganze müsste dann bei ForumThreads so aussehen:
                              Code:
                              $sql = "SELECT 
                              * * * * * topic 
                              * * * * FROM 
                              * * * * * ForumThreads 
                              * * * * WHERE 
                              * * * * * fid = '$fid' 
                              * * * * ORDER BY 
                              * * * * * ID DESC 
                              * * * * LIMIT 
                              * * * * * 1";
                              mfg RudiS

                              Kommentar

                              Lädt...
                              X