Antworten auf deine Fragen:
Neues Thema erstellen

Thema in Kategorien ausgeben

johanna52

Interessierte

Hallo alle zusammen,

stehe mal wieder auf dem Schlauch.
Habe eine MySQL-DB mit Adressen, welche in Kategorien ausgegeben werden sollen. Ich habe eine Tabelle mit DB-Feld kategorien, wo z.B. Architektur, Bad- und Sanitär etc. drin steht --> zu jeder Kategorien gehören dann 3-4 Adressen. Wenn ich diese Adressen nun ausgebe, steht jedesmal der Name der Kategorie neu davor.
Also die Adressen stehen wohl alle zusammen, welche zu Architektur gehören, aber ich möchte gerne den Kategoriennamen nur einmal erscheinen lassen.

Hat da jemand eine Ahnung. Bin für jede Antwort dankbar.
 

Haetti

Nicht mehr ganz neu hier

AW: Thema in Kategorien ausgeben

dazu musst du jeweils speichern, welches die letzte Kategorie war und diese mit der aktuellen vergleichen. Anzeigen musst du die Kategorie nur, wenn es nicht mehr die selbe ist.

PHP:
$letzteKategorie = -1; // -1 ist einfach ein Initialwert, der bestimmt nicht als Kategorie-ID vorkommt
while ($eintrag = @mysql_fetch_object($sqlResult)) {
    if ($letzteKategorie != $eintrag->kategorie_ID) {
        // dies ist eine neue Kategorie. Somit muss diese ausgegeben werden
        echo $eintrag->kategorie_bezeichnung;

        // nun wird gespeichert, dass dies die letzte Kategorie war
        $letzteKategorie = $eintrag->kategorie_ID;
    }


    // nun kannst du den Rest ausgeben.
}
Dies funktioniert natürlich nur richtig, wenn die Einträge auch nach der Kategorie sortiert sind. Ansonsten müsstest du den Code etwas anpassen.
 

sh0ck

PST-SURVIVOR

AW: Thema in Kategorien ausgeben

hallo.

ist zwar schon gelöst, aber ich habe mich trotzdem mal an ein script gesetzt. Fänd' es schade, wenn dies jetzt auf meiner platte verstauben würd'. Man brauch nur den inhalt der variablen ersetzen, oder dies dynamisch erzeugen z.b. mit einem formular, das vorher eingelesen wird. viel spass damit :)


SCRIPT:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
         <title>PHP</title>

         <style type="text/css">
         <!--
         .entry {
          margin-bottom:20px; padding:5px;
          width:400px;
          background-color:#BFBFBF;
          border:1px solid #000000;
         }

         .entry th {
          font:small-caps bold 12pt verdana, sans-serif;
          background-color:#CCECFF;
          border:1px solid #000000;
          text-align:left;
         }

         .entry td {
          font:10pt verdana, sans-serif;
          background-color:#FF9999;
          border:1px solid #000000;
          text-align:left;
         }
         =-->
         </style>

</head>  <body>
<?php
$dbhost = "localhost";   // Server
$dbuser = "root";        // Benutzer
$dbpass = "";            // Benutzerpasswort
$dbname = "test";        // Datenbank

$db = mysql_connect($dbhost, $dbuser, $dbpass) or die("Verbindungsversuch fehlgeschlagen.");
mysql_select_db($dbname, $db) or die("Konnte die Datenbank nicht wählen.");

// Diese Werte könnten auch z.B. durch ein Eingabefeld dynamisch erzeugt werden
// Das macht das Script flexible
$dbtabl = "addresses";                            // Datenbank-Tabelle
$dbrequ = "category";                             // Abzufragende Tabellenspalte
$dbcols = array("name", "street", "zip", "city"); // Auszugebende Tabellenspalte

$rs = mysql_query("SELECT ".$dbrequ." FROM ".$dbtabl."", $db);
if(!$rs) { die("Ungültige Abfrage: ".mysql_error()); }

while($row = mysql_fetch_array($rs))
{
         if(!is_array($cat)) { $cat = array(); }
         if(!in_array($row[$dbrequ], $cat)) { array_push($cat, $row[$dbrequ]); }
}

foreach($cat as $value)
{
         echo            "<table class=\"entry\">\n".
                                 "\t<tr><th colspan=\"".count($dbcols)."\">".$value."</th></tr>\n";

         if(isset($rs)) { unset($rs); }
         $rs = mysql_query("SELECT ".implode(", ", $dbcols)." FROM ".$dbtabl." WHERE ".$dbrequ." = '".$value."'", $db);
         if(!$rs) { die("Ungültige Abfrage: ".mysql_error()); }

         while($set = mysql_fetch_array($rs))
         {
                 echo            "\t<tr>\n";
                 foreach($dbcols as $col) { echo "\t\t<td>".$set[$col]."</td>\n"; }
                 echo            "\t</tr>\n";
         }

         echo            "</table>\n\n";
}
mysql_close($db);
?>
</body>  </html>

DATENBANK:


AUSGABE:



gruss chris
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.611
Beiträge
1.538.341
Mitglieder
67.524
Neuestes Mitglied
BSKGA
Oben