gestaltungsproblem mit dynamisch generierter liste

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

  • gestaltungsproblem mit dynamisch generierter liste

    moin moin!

    ich schreibe gerade für meinen arbeitgeber an einer rezept-datenbank.
    in dem projekt gibt es zwei seiten, auf denen man sich alle kategorien und alle rezepte alphabetisch anzeigen lassen kann.

    diese listen zu generieren, ist kein problem und funktioniert.

    jetzt würde ich diese seiten gerne struckturieren.
    zum beispiel:
    Code:
    [0-9] [a] [b] ... [z]  /* <- evtl. als link. */
    
    <h3>A</h3>
    <a href="">1. rezept mit a</a>
    <a href="">2. rezept mit a</a>
    ...
    ...
    
    <h3>B</h3>
    <a href="">1. rezept mit b</a>
    ...
    ...
    
    und so weiter.
    mein problem ist, das ich für die einzelnen "überschriften-buchstaben" (<h3>A</h3>) keinen ansatz finde, um sie aus dem datensatz zu generieren.
    => wahrscheilich eine denk-blockade.

    ich habe schon gegoogelt und das forum durchsucht.
    und ich bin mir auch ziemlich sicher, das ich sowas schon hier gesehen habe.
    aber ich finds nicht mehr.

    vermutlich bin ich einfach zu blöd um meine suchanfrage zu formulieren.

    vllt. kennt ja jemand den entsprechenden thread, oder kann mir sonstwie helfen.

    /thx
    Zuletzt geändert von andyB; 22.11.2006, 16:13.

  • #2
    Du hast das ganze doch schon alphabetisch sortiert, wo ist da dann noch das Problem?

    Sobald ein neuer Anfangsbuchstabe kommt, fügt du
    PHP-Code:
    <h3>BUCHSTABE</a
    ein. Musst dir halt nur bei jedem Schleifendurchlauf den Anfangsbuchstaben merken und dann entsprechend mit dem jeweils aktuellen vergleichen.
    Simploo CMS - das einfache Webseiten-Bearbeitungsprogramm

    Kommentar


    • #3
      ahhhh, wie kann man nur so doof sein??

      da hätte ich wirklich auch selber drauf kommen können.

      hab das jetzt so gelöst:
      PHP-Code:
      <?php


      /* ein Array zu Testzwecken erstellen */
      $testArray = array(
            
      "Anton","Anton","Anton",
            
      "Berta","Berta","Berta",
            
      "Cäsar","Cäsar","Cäsar",
            
      "Doris","Doris","Doris",
            
      "Emil","Emil","Emil",
            
      "Friedrich der Kleine","Friedrich der Mittlere","Friedrich der Große",
            
      "Gustav","Gustav","Gustav",
            
      "Heinrich I","Heinrich II","Heinrich III",
            
      "Ida","Ida","Ida",
            
      "Julius","Julius","Julius",
            
      "Konrad","Konrad","Konrad"
         
      );



      /* gibt die Navigationszeile aus. */
      $i=0;
      while(list(
      $key$val) = each($testArray)) {
         
      $firstLetter substr($val,0,1);
         if (!isset(
      $lastFirstLetter) || $firstLetter != $lastFirstLetter) {
            echo 
      "[".$firstLetter."]&nbsp;&nbsp;";
         }
         else {
            echo 
      "";
         }
         
      $i++;
         
      $lastFirstLetter $firstLetter;
      }



      /* Array zurücksetzten */
      reset($testArray);



      /* gibt die struckturierte Liste mit dem jeweiligen Anfangsbuchstaben aus */
      $i=0;
      while(list(
      $key$val) = each($testArray)) {
         
      $firstLetter substr($val,0,1);
         if (!isset(
      $lastFirstLetter) || $firstLetter != $lastFirstLetter) {
            echo 
      "<h3>".$firstLetter."</h3>";
            echo 
      $val."<br />\n";
         }
         else {
            echo 
      $val."<br />\n";
         }
         
      $i++;
         
      $lastFirstLetter $firstLetter;
      }
      ?>
      auf jeden fall danke für deinen "gedankenanstoß"!

      Kommentar

      Lädt...
      X