Announcement

Collapse
No announcement yet.

SELECT mit Anzeige des Anfangsbuchstaben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SELECT mit Anzeige des Anfangsbuchstaben

    Hi,

    Alle Artikel werden nun nach Anfangsbuchstabe ausgegeben

    Artikel 1
    Artikel 2
    Beitrag 1
    Beitrag 2
    C..
    D..

    PHP Code:
    /*
             * Listet alle Artikel nach
             * Anfangsbuchstaben auf.
             */
            
    $DB->set_sql('SELECT p.*, c.* FROM ' PREFIX 'lexicon_post AS p, ' PREFIX 'lexicon_cat AS c WHERE p.post_depend_cat_id = c.ID AND p.post_activ = 1 ORDER by p.post_subject, p.post_id DESC');
            
    $DB->execute();
            while (
    $post $DB->fetch_assoc()) {
                
    $perm_temp = array();
                
    // Befugnisgruppe passt nicht?
                
    $perm_temp explode(','$post['usergroups']);
                if (!
    is_array($perm_temp) || !in_array($user_auth$perm_temp)) {
                    continue;
                }
                
    $alphasort[] = $post;
            }
            
    $DB->free(); 
    Jetzt hätte ich aber noch gerne folgende Ausgabe

    A
    Artikel 1
    Artikel 2
    B
    Beitrag 1
    Beitrag 2
    C
    C..
    D
    D..

    Sprich nicht nur nach Anfangsbuchstaben sortiert sonder die Auflistung ABCDEFGH....... und unter dem jeweiligen Buchstaben die Entsprechenden Artikel.
    Für die Ausgabe nutze ich Smarty falls dies wichtig ist.

  • #2
    Da der Buchtste kein Bestandteil des selectes ist, ist er nicht in der Erbenismenge dirn. Also wirst du das programmieren müssen
    Irgendwo wirst du ja in einer Schleife die Ausgaben tätigen.

    Da legst du eine Variable bsp. $anfang =""; an. Jetzt vergleichst du in der Schleife den ersten Buchstaben des Datensatzes er ausgegeben werden soll. Ist der unterschiedlich zu $anfang, wird der erste Buchstabe des Datensatzes ausgegeben und $anfang bekommt den Wert des ersten Buchstaben des Datensatzes.
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      Irgendwo wirst du ja in einer Schleife die Ausgaben tätigen.
      Genau. Zusätzlich zum obigen Code habe ich noch

      PHP Code:
      $Smarty->assign(array(
                  
      'LANG' => $lang,
                  
      'ALPHASORT' => $alphasort,
              )); 
      und in der *.htm File

      HTML Code:
      <div class="ucp_container">
          {foreach from=$ALPHASORT item=post}
          <a href="index.php?mode=lexicon_show&post_id={$post.post_id}">{$post.post_subject}</a><br>
          {/foreach}
      </div>
      Ich hätte jetzt spontan gesagt ich Schreibe das Alphabet manuell in die htm File und mache für jeden Buchstaben eine Extra Abfrage um an so eine Ausgabe zu kommen http://i.stack.imgur.com/JYk8u.png

      Derzeit ist es ja ohne den Fetten Anfangsbuchstaben http://green.cs.ksi.edu/dl/ma379x/MA...s/image002.jpg
      Dann schaue ich mal das ich das umgesetzt bekomme.

      Comment

      Working...
      X