while problem

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

  • while problem

    Erst mal der Code
    PHP-Code:
    <?php
    require("connect.inc.php");
    require(
    "functions.php");
    //Fehlt die Variable $pagenum oder ist sie leer so wird sie auf 1 gesetzt
    if(!isset($pagenum) or $pagenum==or empty($pagenum)): $pagenum 1; endif;
    //pro site
    $perpage 5
    //oder unter limit
    $limitlower =($pagenum-1)*$perpage+1;
    $limitupper =$pagenum $perpage;
    //abfrage
    //$sql = "SELECT * from $table WHERE fur='".$_GET['show']."' order by datum desc limit ".($limitlower-1).",".$perpage."";

    $sql "SELECT 
                A.* , 
                B.ttrating AS ttrating , 
                C.ttid
            FROM 
                ("
    .$table." AS A 
                LEFT JOIN "
    .$rating." AS B 
                    ON A.id = B.ttid) 
                LEFT JOIN "
    .$comments." AS C 
                    ON A.id = C.ttid 
            WHERE 
                A.fur='"
    .$_GET['show']."' 
            ORDER BY A.datum DESC"
    ;

    //gefundene datensätze
    $sql_hits "select count(*) as hits from $table WHERE fur='".$_GET['show']."'";
    $r_sql_hits mysql_query($sql_hits,$connect);
    $r_sql mysql_query($sql,$connect);
    //abfrage der ergebnisse
    if($r_sql){
        
    $hits mysql_result($r_sql_hits,0);
    //Wenn $limitupper größer als unsere Trefferanzahl ist wird $limitupper = der Trefferanzahl gesetzt.
        
    if($limitupper $hits): $limitupper $hits; endif;
    //Analog das gleiche mit $limitlower und falls es mal kleiner wie 0 sein sollte wird die Variable auf den Wert 1 gesetzt.
        
    if($limitlower $hits): $limitlower $hits $perpage; endif;
        if(
    $limitlower <= 0): $limitlower 1; endif;
    //ausgabe
        
    if($hits==0){
    //beginne die Fehlerroutine
            
    echo "<p>es gab einen fehler</p>";
        }else{
        
    ?> 
    <script language="JavaScript" type="text/JavaScript">
    <!--
    function MM_popupMsg(msg) { //v1.0
      alert(msg);
    }
    //-->
    </script>


            
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr> 
        <td colspan="4" align="center"><?php echo "Ergebnis: ".$limitlower." bis ".$limitupper." von ".$hits."<br>"?></td>
      </tr>
      <tr> 
        <td width="4%">&nbsp;</td>
        <td width="46%" align="left">Betreff</td>
        <td width="21%" align="left">Rating</td>
        <td width="29%" align="left">Datum</td>
      </tr>
      <?php
            
            
    while($row mysql_fetch_array($r_sql)){ 

    //aufbereiten der kommentare 
                
                
    list($count) = mysql_fetch_array(mysql_query("SELECT COUNT(ttid) FROM $comments WHERE ttid='".$row['id']."'")) or die (mysql_error()); 
                if (
    $count==0){
                    
    $anz="";
                }
                else{
                    
    $anz="[".$count."]";
                }
                
    //passt alles auf eine site
                
    if($hits<$perpage): $page 1; endif;
    //Sind die Treffer nun kleiner wie die Anzahl der Seiten, gibt es nur eine Seite.
                
    if($hits>$perpage): $page ceil($hits/$perpage); endif;
    //navi
                
    if($pagenum 1): 
                    
    $left_arrow "<a href=\"index.php?cat=tt&action=tt_list&show=".$_GET['show']."&pagenum=".($pagenum-1)."\" class=\"searchlink\"> « </a>";// Eine Seite zurück
                    
    $firstpage "<a href=\"index.php?cat=tt&action=tt_list&show=".$_GET['show']."&pagenum=1\" class=\"searchlink\"> «« </a>";//Zur 1. Seite
                
    else: 
                    
    $left_arrow "<span class=\"diseablesearchlink\"> « </span>";//Deaktiviere den Link
                    
    $firstpage "<span class=\"diseablesearchlink\"> «« </span>";//Deaktiviere den Link 
                
    endif;
    //navi ende
                
    if($pagenum $page): 
                    
    $right_arrow "<a href=\"index.php?cat=tt&action=tt_list&show=".$_GET['show']."&pagenum=".($pagenum+1)."\" class=\"searchlink\"> » </a>"
                    
    $lastpage "<a href=\"index.php?cat=tt&action=tt_list&show=".$_GET['show']."&pagenum=".$page."\" class=\"searchlink\"> »» </a>"
                else: 
                    
    $right_arrow "<span class=\"diseablesearchlink\"> » </span>"
                    
    $lastpage "<span class=\"diseablesearchlink\"> »» </span>"
                endif; 
        

    //ausgabe der ergebnisse?>
      <tr> 
        <td><img src="tt/images/<?php echo $_GET['show'?>.gif" border="0" alt="ändern"></td>
        <td align="left"><?php echo "<a href=\"index.php?cat=tt&action=tt_show&show=".$row['id']."\">".$row['betreff']."</a> ".
                                    
    $anz." geschrieben von: <a href=\"index.php?cat=profil&show=".$row['autor']."\">".$row['autor']."</a>)"?></td>
        <td align="left">
          <?php tut_stars($row['ttrating']) ?>
        </td>
        <td align="left"><?php echo date("d.m.Y",$row['datum']); ?></td>
      </tr>
      <?php
                
            
    }
            
                echo 
    "<tr><td>&nbsp;</td><td align=\"center\" colspan=\"5\">";
                echo 
    $firstpage." ".$left_arrow;
                for(
    $a=1;$a<=$page;$a++){
                    if(
    $a==$pagenum):
                        echo 
    " <span class=\"thissite\">$a</span>"; else: 
                        echo 
    " <a href=\"index.php?cat=loginsucc&action=news&pagenum=".$a."\" class=\"searchlink\">".$a."</a>"
                    endif; 
                }
                echo 
    $right_arrow." ".$lastpage;
                echo 
    "</td></tr>";
                
        }
    }
    ?>
    </table>
    zu sehen gibts das ganze online hier:
    http://www.wnmedia.de/kunden/pleff/i...tt_list&show=5


    Mein problen

    bei dem beitragf "innenraum" gibt es schon 7 kommentare ( zeigt er dahinter auch richtig an), was aber falsch ist das er diesen beitrag 7 mal anzeigt, soll nut 1 mal sein

    wo ist da mein Fehler ?

    Herzlichen Dank!


    EDIT: scheiß Strato DB geht im mom mal wieder nicht, aber daran liegt mein Prob nicht
    Zuletzt geändert von mukraker; 28.05.2003, 18:23.
    thx Mukraker

  • #2
    Tja Du holst Dir alle Kommentare mit einem Join zu Deinem beitrag also alle beiträge so oft wie Du Kommentare hast.
    Also entweder holst Du erst den Beitrag und die kommentare getrennt oder Du checkst in der while schleife ob der Beitrag schon ausgegeben wurde...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      SELECT DISTINCT <-- damit gehts auch ist aber unschön anders raff ichs nicht
      thx Mukraker

      Kommentar

      Lädt...
      X