Warum wird nur ein Beitrag angezeigt?

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

  • Warum wird nur ein Beitrag angezeigt?

    Hallo...

    Ich hab hiern Script von meinem Forum.. klappt soweit alles supi bis auf einen Haken.. Mein Script muss einen Fehler haben, welches das so beeinflusst, dass er nur ein Beitrag zeigt... Allerdings kann ich ihn nicht finden... hat jemand ein plan, und findet den fehler?

    PHP-Code:
    <?
    #################### Beginn des eigentlichen Scitps ##########################


    ######## Phase 1 => Normale Ausführung des Scripts also nicht löschen ##########


    if (!isset($hm1))

    { ##### ANFANGSKLAMMER FÜR: => $hm1

    #### Reihen zählen ####

         $select = mysql_query ( "SELECT * FROM $TAB WHERE thread='$thema'");
          $reihen = mysql_num_rows ( $select );
           $zeigen = floor( $reihen / 8 );
            if ( ! $start ) $start = 0.1;

    ###### Erste Haupttabelle für alle Tabellen 1. ######
        echo "<table width=100% border=1 cellspacing=0 cellpadding=0 align=center>";
        echo "<tr><td>";

    ###### Zweite Tabelle für die Haupt"überschrift" 2. #######

        echo "<table width=100% border=1 cellspacing=0 cellpadding=0 align=center>";
        echo "<tr bgcolor=$tbgfarbe1>";
        echo "<td width=30%><center><b>Autor:</td>";
        echo "<td width=50%><center><b>Beitrag:</td>";
        echo "</tr>";
        echo "</table>";
        
    ###### Erste Anweisung für Tabellen Farbe 1=heller 2=dunkler #######
           $wechsel=1;
           
    ###### Schleife für Beiträge anzeigen ########
        

        $result = mysql_query("SELECT * FROM $TAB WHERE thread='$thema' ORDER BY id DESC LIMIT $start,8");
         $schleife = 1;
          while ( $profildaten = mysql_fetch_array( $result ) )
           { ##### Anfangsklammer für => SCHLEIFENBEGINN
             $idd = $profildaten["id"];
             $von = $profildaten["von"];
             $dat = $profildaten["zeit"];
             $beitrag = $profildaten["beitrag"];
             $vorang = $profildaten["vorang"];
             $offen = $profildaten["threaderoffen"];


    ##### Einstellungen der Beiträgeeinstellungen #####

          /* Schutz vor Skripten - Muss nicht sein, dass hier jemand was gegen unseren Willen installiert ;) */
            $beitrag = eregi_replace ( '<' , '', $beitrag );
            $beitrag = eregi_replace ( '>' , '', $beitrag );

          /* Zeilenumbruch */
            $beitrag = eregi_replace ( "\n", "<br>", $beitrag );

          /* BBCode */
            $beitrag = eregi_replace ( '\[b\]' , '<b>', $beitrag );
            $beitrag = eregi_replace ( '\[/b\]' , '</b>', $beitrag );
            $beitrag = eregi_replace ( '\[i\]' , '<i>', $beitrag );
            $beitrag = eregi_replace ( '\[/i\]' , '</i>', $beitrag );
            $beitrag = eregi_replace ( '\[u\]' , '<u>', $beitrag );
            $beitrag = eregi_replace ( '\[/u\]' , '</u>', $beitrag );
            $beitrag = eregi_replace ( '\[pic\]', '<img src=', $beitrag );
            $beitrag = eregi_replace ( '\[/pic\]', '>', $beitrag );
          /* Farben */
            $beitrag = eregi_replace ( '\[blau\]' , '<font color=#355FEE>', $beitrag );
            $beitrag = eregi_replace ( '\[schwarz\]' , '<font color=black>', $beitrag );
            $beitrag = eregi_replace ( '\[orange\]' , '<font color=#F46F2F>', $beitrag );
            $beitrag = eregi_replace ( '\[rot\]' , '<font color=#F8312C>', $beitrag );
            $beitrag = eregi_replace ( '\[grün\]' , '<font color=#05721E>', $beitrag );
            $beitrag = eregi_replace ( '\[lila\]' , '<font color=#FF00FF>', $beitrag );
            

    ###### 3. Tabelle ######

    echo "<table width=100% border=1 align=center>";

    ### Farbe festlegen ###
              if ( $wechsel==1 ) { $farbe=$tbgfarbe; }
              if ( $wechsel==2 ) { $farbe=$tbgfarbe1; }

    ### Erste TR für Beitrag editieren etc. ###
    echo "<tr bgcolor=$farbe>";

    ### Erste Feld mit Zeit und Datum ist zu 30%breit ###
    echo "<td width=30%><font size=2><center>$dat</td>";

    ### Zweite Feld mit Link-Funktionen ###
    echo "<td width=50% align=right><font size=1>";


    ######### Links erlauben und verbieten ###########

    ### Ermitteln um welchen Account es sich bei dem Nickname handelt ###
        $result = mysql_query("SELECT * FROM zonyuser WHERE nickname='$nickname'");
          while ( $profildaten = mysql_fetch_array( $result ) )
           { $ac1 = $profildaten["account"]; }

    ### Wenn es ein Moderator ist, zuständigkeit LESEN ###

       if ( $ac1 == 2 ) { ## Klammer auf 1.

        $result = mysql_query("SELECT * FROM scout WHERE nickname='$nickname'");
          while ( $profildaten = mysql_fetch_array( $result ) )
           { $zustaendigkeit = $profildaten["THREADRANG"]; }

    } # Klammer zu 1.


    # 1. Prüfen ob es sich um den Eröffnungsthread handelt wenn ja niemand darf löschen

         $forbitten_DEL_beitrag = 1; ## 1=Ja  0=Nein
        if ( $offen != "" ) { $forbitten_DEL_beitrag = 0; }


    # 2. handelet es sich um einen MOD(2)mit zuständikeit(1) oder Admin(1) dürfen sie alle löschen

        if                          ( $ac1 == 1 ) { $DEL_ja = 1; }
        if ( $ac1 == 2 AND $zustaendigkeit == 1 ) { $DEL_ja = 1; }


    # 3. Ist es dem User sein Beitrag? wenn ja, dann darf er löschen

        if ( $von == $nickname AND $acc == 0 ) { $DEL_ja = 1; }


    # 4. Ist es dem User sein Beitrag? wenn ja, dann darf er editieren sowie mods und admins

        if ( $von == $nickname )                  { $EDIT_ja = 1; }
        if ( $ac1 == 1 )                          { $EDIT_ja = 1; }
        if ( $ac1 == 2 AND $zustaendigkeit == 1 ) { $EDIT_ja = 1; }

    # 5. antworten dürfen alle, außer verfasser selbst!
            $ANTWORTEN=1;  ## 1=ja 0=nein

        if ( $von == $nickname ) { $ANTWORTEN=0; }
            
            
    ##### Links anzeigen, die erlaubt sind!! ######

    ## 1. Ist Löschen überhaupt erlaubt?
    ## 2. Darf User löschen?
    ## 3. Darf User editieren?

          if ( $EDIT_ja == 1 ) { echo "&nbsp;&nbsp;<a href='beitragedit.php?TAB=$TAB&act=1&idd=$idd'>Editieren</a>"; }

           if ( $forbitten_DEL_beitrag == 1 )
                                       { ## Anfangsklammer 2.

       if ( $DEL_ja == 1 )  { echo "&nbsp;&nbsp;<a href='threadsehen.php?hm=1&idd=$idd&tab=$TAB&FR=$offen&thm=$thema'>Löschen</a>"; }

                                       } ## Klammer ENDE 2.

     if ( $ANTWORTEN == 1 ) { echo "&nbsp;&nbsp;<a href='forumantworten.php?TAB=$TAB&act=1&thema=$thema'>Auf den Beitrag antworten</a>"; }
         
    ## Tabellenzeile mit links beenden ##
    echo "</td></tr>";

    ## Nächste Zeile ##
    #echo "<tr bgcolor=$farbe>"

    ## Erste Spalte für 2. Zeile mit neuer tabelle ##
    echo "<td width=30%>";

    echo "<table width=100% align=center>";
    echo "<tr bgcolor=$farbe>";
    echo "<td><font size=2><center>";
    echo "Beitrag von:<br>";
    echo "<center><b><a href='myprofil.php?nickname=$nickname&passwort=$passwort&profilvon=$von'>$von</a>";
    echo "</td>";
    echo "</tr>";
    echo "</table>";

    echo "</td>";


    ## Zweite Spalte für 2. Zeile ##

    echo "<td width=50%><br><font size=2>$beitrag</td>";

    ## Zeile beenden ##
    echo "</tr>";

    ## Farbenwechsel veranlassen ##
              if ( $wechsel==1 ) { $wechsel = 2; }
              if ( $wechsel==2 ) { $wechsel = 1; }

    ## Schleife zählen ##
       $schleife++;
       
    ## Schleifenklammer beenden ##
     } ##### Endeklammer für => SCHLEIFENBEGINN
     
    ### Tabelle 3 + 4 beenden ###

      echo "</table>";
    echo "</td>";
     echo "</tr>";
      echo "</table>";


    ### Wenn Schleife = 1 dann... ###
      if ( $schleife == 1 ) echo "<i><font size=2><center>Forum Fehler 1!</i><br><br></center>";
      
    ?>

    <center>

    <?
        if($start > 0.1) {
                $zurueck = $start - 8;
                echo "<a href='threadsehen.php?start=$zurueck&nickname=$nickname&passwort=$passwort&thema=$thema&TAB=$TAB'><font size=2>Zurück</a>";
        }
        for($i = 0; $i <= $zeigen; $i++) {
        $ia = $i+1;
            echo " <a href='threadsehen.php?start=$n&nickname=$nickname&passwort=$passwort&thema=$thema&TAB=$TAB'><font size=2>$ia</a> ";
        $n += 8;
        }
        $weiter = $start + 8;
        if($reihen > $weiter) {
                echo "<a href='threadsehen.php?start=$weiter&nickname=$nickname&passwort=$passwort&thema=$thema&TAB=$TAB'><font size=2>Weiter</a>";
        }
        
    } ##### EndeKLAMMER FÜR: => $hm1




    ##### Beitrag löschen #####

    if ($hm==1)
         {

        $sqlbefehl = "DELETE FROM $tab WHERE id = '$idd' LIMIT 1;";
       mysql_query($sqlbefehl, $db) or die(mysql_error()); ?>

       <META HTTP-EQUIV="refresh" CONTENT="0; URL=threadsehen.php?TAB=<? echo $tab;?>&thema=<? echo $thm;?>">

       <? echo "Du wirst nun Umgeleitet, falls Dein Browser keine Umleitung unterstützt, klicke <a href='threadsehen.php?TAB=$tab&thema=$thm'>hier.</a>";

       } ?>

    Danke im Voraus!!!!

    Manu

    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
    sondern mit den Augen das Manual zu lesen.

  • #2
    Re: Warum wird nur ein Beitrag angezeigt?

    Original geschrieben von xManUx
    PHP-Code:
     $result mysql_query("SELECT * FROM $TAB WHERE thread='$thema' ORDER BY id DESC LIMIT $start,8"); 
    mach das mal so:
    PHP-Code:
    $sql='SELECT * FROM '.$TAB." WHERE thread='".$thema."' ORDER BY id DESC LIMIT ".$start.',8';
    $result=mysql_query($sql) or die(mysql_error());
    echo 
    'Abfrage: '.$sql.'<br />';
    echo 
    mysql_num_rows($result).' Datensätze'
    was kommt da als ausgabe?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Re: Re: Warum wird nur ein Beitrag angezeigt?

      Original geschrieben von mrhappiness
      was kommt da als ausgabe?

      Abfrage: SELECT * FROM Forum1 WHERE thread='Test 1' ORDER BY id DESC LIMIT 0.1,8
      4 Datensätze

      Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
      sondern mit den Augen das Manual zu lesen.

      Kommentar


      • #4
        und das du $result innerhalb der schleife überschreibst weißt du auch?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          ups.. *dumm*

          Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
          sondern mit den Augen das Manual zu lesen.

          Kommentar


          • #6
            Hmmm war ein Leichtsinnsfehler... Dummgelaufen *g* Trotzdem Danke ))

            Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
            sondern mit den Augen das Manual zu lesen.

            Kommentar


            • #7
              ja

              du könntest dir übrigens auch mal den thread über JOINs im sql-forum anschauen, ich trau mich fast zuwetten, dass du deine momentan verwendeten anfragen zu einer zusammenlegen kannst
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                hmm das liese sich hier schon anwenden?? ( JOIN )

                bei der abfrage nach accountnummer ( in der tabelle der user & scouts ) ?

                Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                sondern mit den Augen das Manual zu lesen.

                Kommentar


                • #9
                  hätte da noch ne frage...

                  wieso bringt er einen fehler wenn...

                  PHP-Code:
                  ## Nächste Zeile ##
                  #echo "<tr bgcolor=$farbe>" 
                  ...ich hier das echo zulasse? also das # davor wegmach? er sagt dann als ausgabe:

                  Parse error: parse error, expecting `','' or `';'' in /data/members/free/tripod/de/h/e/i/heilanzack/htdocs/threadsehen.php on line 227

                  gemeint ist dieses echo


                  PHP-Code:
                  ## Erste Spalte für 2. Zeile mit neuer tabelle ##
                  echo "<td width=30%>"

                  Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                  sondern mit den Augen das Manual zu lesen.

                  Kommentar


                  • #10
                    ääääh ok... langsam wirds peinlich für mich... schon klar wenn man ; vergisst +gegen wand renn+

                    Es kommt nicht darauf an, mit dem Kopf durch den Monitor zu rennen,
                    sondern mit den Augen das Manual zu lesen.

                    Kommentar

                    Lädt...
                    X