Gleiche Ausgabewerte ignorieren

Wet-Blanket

Mitglied
Hallo,

ich habe folgendes Problem:
Aus einer Tabelle mit folgenden Werte


id ( wird als Bildnahme benutzt (ordner/ordner/$id.jpg"... )
Var 1
Var 2
Year
Ordner


soll folgende Ausgabe heraus kommen:

Eine gibt eine Seite mit der Variableninformation in der Adresse Year=2004 oder Year=2005 etc., auf welcher dann sämtliche Bilder aus dem jeweiligen Jahr ausgegeben werden.
Zur Zeit sieht das so aus:

Dieses ist der Quelltext, an dem die Liste mit den Links steht:
(gilt für beide Fenster: Die Var $Link ist nur eine Admin-Abfrage, welches ein "?" ausgibt)
PHP:
<?php
if ($Year == "2005")
{
  echo "<ul>";
  //Read DATA---------------------------------------------------------------------------
  $abfrage = "SELECT * FROM Datenbank WHERE Year = $Year";
  $ergebnis = mysql_query($abfrage,$db);
  //_____________________________________________________
  while ($data_2005 = mysql_fetch_object($ergebnis)) 
  {
    echo "<li><a href=\"http://host.de/ordner/ordner/galerie2.php";
    echo $Link;
    echo "Year=2005&Ordner=$data_2005->Ordner\">$data_2005->Ordner</a></li>";
  }
  echo "</ul>";
}
?>

etwas weiter unten im Quelltext ist dann die Bildausgabe angebracht:

PHP:
<?php
//Read DATA------------------------------------------------------------------------------------------
$abfrage = "SELECT * FROM Datenbank WHERE Year = $Year";
$ergebnis = mysql_query($abfrage,$db);
//_____________________________________________________________
$z = 1;
while ($data = mysql_fetch_object($ergebnis)) 
{
  echo "<td width=\"33%\"><a href=\"http://host.de/ordner/ordner/bildview2.php";
  echo $Link;
  echo "dbind=$data->id\"><img src=\"http://host.de/images/data/thumbs/$data->id.jpg\" align=\"left\" height=\"100\" style=\"border-width:1px; border-style:solid; border-color:#FFFFFF;\"></a></td>";
  if ($z > 3) 
  {
    echo "</tr><tr height=\"5\"><td></td></tr><tr>";
    $z = 0;
  };
  $z++;
};
?>

Nun sollen wie im oberen Quelltext zu sehen, die ganzen Ordner aus dem Jahre 2005 als Links aufgelistet werden. Das Selbe passiert noch mit den anderen Jahren. Dann immer mit anderen Variablen etc.
Allerdings gibt es mehrere Bilder, die dem selben Ordner entstammen. Insofern, wird bei der Liste ganz oft der selbe Ordner ausgegeben. Ist ja auch logisch. Nur dies braucht oder vielmehr soll es nicht. Wenn der Ordner bereits einmal ausgegeben wurde, soll er ein zweites Mal nicht mehr angezeigt/ausgegeben werden, sodass zum Schluss alle Ordner nur 1x ausgeben wurden und nun als Variable für die nächste Seite weiterverwendet werden können, auf denen dann die Bilder aus dem jeweiligen Ordner angezeigt werden.

Weiß jemand, wie ich das am dümmsten anstelle? Wäre echt super.
Vielen Dank im Voraus.

Mit freundlichen Grüßen

Martin Tränker
 
Du musst in deinem SQL Statement einfach ein GROUP BY und dann die Psaltenbezeichnung in der die Ordner stehen. Damit werden alle Ornder nur einmal angezeigt.Ist es das was du suchst?

MFG
 
ronaldo84 hat gesagt.:
Du musst in deinem SQL Statement einfach ein GROUP BY und dann die Psaltenbezeichnung in der die Ordner stehen. Damit werden alle Ornder nur einmal angezeigt.Ist es das was du suchst?

MFG

Jau, das war's vielen Dank.
Nochmal für späteres Lesen, hier der Quelltext:

PHP:
<?php
if ($Year == "2005")
{
  $term == "$Year";
  echo "<ul>";
  //Read DATA-----------------------------------------------------------
  $abfrage = "SELECT * FROM Tabelle WHERE Year LIKE \"%$term%\" GROUP BY Ordner";
  $ergebnis = mysql_query($abfrage,$db);
  //____________________________________________________________________
  while ($data_2005 = mysql_fetch_object($ergebnis)) 
  {
    echo "<li><a href=\"http://host.de/ordner/ordner/galerie2.php";
    echo $Link;
    echo "Year=2005&Ordner=$data_2005->Ordner\">$data_2005->Ordner</a></li>";
  }
  echo "</ul>";
}
?>

Vielen Dank dafür.
MFG
Martin Tränker
 
Zurück