2 Tabellen richtig selektieren und Gruppenwechsel durchführen

Darian

Erfahrenes Mitglied
Hallo Leute,

ich habe sowas in der Art schon einmal gemacht, jetzt ist es aber irgendwie anders, und ich komme nicht drauf wie.

Erklärung (siehe Anhang: bild.jpg)

Also, ich habe zwei Tabellen eine heißt layer1 und eine layer2. Alle der Ersten Ebene (vom Bild) sind in layer1, alle der zweiten Ebene (etwas weiter eingerückt) sind in layer2. Jeder von layer2 ist einem Titel von layer1 zugeteilt.

Jetzt möchte ich gerne diese alle selektieren, alphabetisch sortiert ausgeben. Weiss leider nicht wie ich das richtig selektieren kann, und wie ich das dann mit dem Gruppenwechsel hin kriege.

Ziel ist es dass meine Mitarbeiter hier dann einfach per phpmyadmin einen neuen Eintrag machen, und schon wird die Seite wieder automatisch generiert. Und alle Einträge in der DB sollten durcheinander sein können.

Ich hoffe ich habe verständlich erklärt was ich meine, und jemand kann mir helfen.

Ich freue mich über jede auch noch so kleine Info.

mfg aus Guatemala
Darian
 

Anhänge

  • bild.jpg
    bild.jpg
    24,6 KB · Aufrufe: 65
Hi Darian,

Du musst die beiden Tabellen joinen. Da Du vermutlich auch Datensätze aus layer1 haben willst, die keine Einträge in layer2 haben, brauchst Du einen LEFT JOIN, sonst halt einen INNER JOIN. Sortieren ist jetzt aber nicht das Problem, oder?
Für den Gruppenwechsel setzt Du Dir einfach eine Merkervariable vor der Schleife:

PHP:
$aktueller_titel = '';
while($row = mysql_fetch_assoc($result)) {
   if($row['titel'] != $aktueller_titel) {
      echo $row['titel'];
      $aktueller_titel = $row['titel']
   }
   echo $row['titel_layer2'];
}

LG
 
Ja danke danke, habe da ein paar Trockenübungen gemacht, und sieht relativ gut aus, was das SELECT ausspuckt.

Ich hoffe jetzt zwar dass die layer1 und die layer2 einträge alphabetisch sortiert sind, werde ich aber noch rausfinden.

Jedenfalls einmal danke, ich melde mich dann noch mit Feedback, und werde mir vorher das mit den ganzen JOINS noch einmal genauer ansehen.

lg aus Guatemala
Darian

Edit: Habe ein bisschen herum probiert, und "order by layer1.title, layer2.title" funktioniert. Wusste ich nicht, ist aber fein dass es so ist. Werde Morgen in der Arbeit alles weitere ansehen und probieren. :)
 
Zuletzt bearbeitet:
Hallo Leute,

hat jetzt funktioniert, und ist eigentlich auch schon fertig, auch wenn es unschön ist.

Jetzt stellt sich allerdings noch die Frage, ob man ein Programm schreiben könnte, was all die Daten automatisch in die Datenbank eintragen kann.

Weil es sind wirklich soooo extrem viel, dass ich nicht wirklich die Lust habe das per Hand zu machen. Denke ein Programm zu schreiben wäre besser.

Ich habe allerdings keine Ahnung wie ich das anstellen könnte, weil der HTML Code wurde damals mit Dreamweaver erstellt, und dementsprechend hässlich ist er dann auch.

Wie könnte man das machen?

Würde mich da speziell um Infos freuen.

lg aus Guatemala
Darian
 
Hi,

Ich habe allerdings keine Ahnung wie ich das anstellen könnte, weil der HTML Code wurde damals mit Dreamweaver erstellt, und dementsprechend hässlich ist er dann auch.

Eine Möglichkeit wäre, die Inhalte mit regulären Ausdrücken herauszufiltern. Wie gut das umsetzbar ist, hängt halt vom HTML-Code ab.
Zweite Möglichkeit: Du kopierst diese Listen in eine Excel-Tabelle, exportierst das als CSV-Datei und frühstückst die mit einem PHP-Skript ab. Da mußt Du halt schauen, dass in der CSV-Struktur erkennbar ist, was eine "Layer1"-Zeile ist und was "Layer2".

LG
 
Eigentlich eine gute Idee, sowas in der Art werde ich wohl Morgen probieren müssen.

Danke für die Infos.

lg Darian
 

Neue Beiträge

Zurück