Datensätze sortieren

Maffy

Erfahrenes Mitglied
Ich habe Links von A-Z bei klick darauf sollen die Datensätze entsprechend sortiert werden. Bei klick auf A sollen alle Datensätze angezeigt werden, die mit einem A beginnen.usw..

Hier ist mal der Link zur Seite

Das Problem ist, wenn ich auf A klicke zeigt er mir alle Datensätze an. Er soll mir aber nur die Datensätze anzeige die mit einem A beginnen.


PHP:
<?php 
  
      if($letter) 
      $sqlab =    $db->query("select a.id,a.catid,a.userid,a.topic,a.visits,a.datum,a.url, 
                              b.name,b.userid,c.catid,c.beschreibung 
                        from tut_dokument a INNER JOIN tut_autoren b, tut_kategorie c 
                        where a.catid=c.catid AND a.topic LIKE '".$letter."%'  ORDER BY datum DESC"); 
    
         $num = mysql_num_rows($sqlab); 
    
         if ($num==0 && $letter) 
            echo "Keine Datensätze mit $letter gefunden"; 
       
       else 
           
       $db->query("select a.id,a.catid,a.userid,a.topic,a.visits,a.datum,a.url, 
                              b.name,b.userid,c.catid,c.beschreibung 
                from tut_dokument a INNER JOIN tut_autoren b, tut_kategorie c 
                where a.catid=c.catid order by datum DESC "); 
           
         
         while($row =  $db->data()) 
         { 
            include("./inc/vartut.php"); 
            echo ($template); 
         } 
   ?>
 
Versuch's mal damit:
PHP:
<?php
  $letter = ( isset($_GET['letter']) && !empty($_GET['letter']) && (trim($_GET['letter'])!="") ) ? $_GET['letter'] : FALSE;

  $query = "
SELECT
        a.id,
        a.catid,
        a.userid,
        a.topic,
        a.visits,
        a.datum,
        a.url,
        b.name,
        b.userid,
        c.catid,
        c.beschreibung 
  FROM
        tut_dokument a
    INNER JOIN
        tut_autoren b,
        tut_kategorie c
  ";
  if($letter) $query .= " WHERE a.catid=c.catid AND a.topic LIKE '".$letter."%' ";
  $query .= " ORDER BY datum DESC ";
  $sqlab = $db->query($query);

  if(mysql_num_rows($sqlab) == 0) {
     $warning = "Keine Datens&auml;tze";
     $warning .= ($letter != FALSE) ? "" : "mit ".$letter;
     $warning .= " gefunden!";
     echo($warning);
  }

  while($row = $db->data()) {
    include("./inc/vartut.php");
    echo($template);
  }
?>
 
Habe den Fehler gefunden so muss es sein:

PHP:
	 $query = " 
SELECT 
        a.id, a.catid, a.userid, a.topic, a.visits, a.datum, a.url, 
        b.name, b.userid, 
        c.catid, c.beschreibung 
  FROM 
        tut_dokument a 
    INNER JOIN 
        tut_autoren b, 
        tut_kategorie c 
	WHERE a.catid=c.catid
  "; 
  if($letter) $query.= "  AND a.topic LIKE '".$letter."%' "; 
  $query .= " ORDER BY datum DESC "; 
  $sqlab = $db->query($query);
 
Zurück