Kategorieweise ausgeben von Daten

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

  • Kategorieweise ausgeben von Daten

    Hi Leute

    Ich bin gerade dabei, meinem Vater ne Homepage zu basteln und bin auf ein Problem gestossen.

    Zuerst der Code:
    PHP-Code:
    <?php
        
    if(!isset($_GET['show'])) {
        
        
    $sql "SELECT bid, name, kategorie FROM
    tricons_beratung ORDER BY bid DESC LIMIT 0,3"
    ;    
        
    $result mysql_query($sql) OR die(mysql_error());    
        if(
    mysql_num_rows($result)) {
            while(
    $row mysql_fetch_assoc($result)) {
    ?>
    <table width="100%"  border="0" cellspacing="1" cellpadding="2">
      <tr>
        <td width="25%"><?php 
            
    echo    "<b><img src='images/pfeil.gif' alt='' width='12'
     height='9' border='0'>"
    ;
            echo    
    $row['kategorie'];    
        
    ?></td>
      </tr>
      <tr>
        <td><?
            echo    $row['name'];    
        ?></td>
      </tr>
    </table>
    Zur Datenbankumgebung:
    Ich habe eine Tabelle mit dem namen tricons_beratung mit 3 Feldern. - ( bid, name und kategorie )

    Das Ziel ist es, dass zuerst die Kategorie angezeigt wird und unten dran die Einträge zu dieser Kategorie.
    Bsp.:
    - Beispielkategorie1
    Eintrag1
    Eintrag2
    Eintrag3
    - Beispielkategorie2
    Eintrag1
    Eintrag2

    Wenn ich die Site bei mir öffne, dann wird allgemein bei jedem Eintrag in der Datenbank eine neue Zeile ausgegeben.
    Bsp.:
    - Beispielkategorie1
    Eintrag1

    - Beispielkategorie1
    Eintrag2

    Ich weiss nicht wie man das machen kann. Könnt ihr mir helfen?

    Vielen Dank und mit freundlichen Grüssen

    Luca Peter

  • #2
    Re: Kategorieweise ausgeben von Daten

    Das Stichwort, über das du dich informieren möchtest, lautet Gruppenwechsel.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ok, ich mach mich mal schlau. Danke ^^

      Kommentar


      • #4
        Ich werd da neeeet so ganz schlau draus.

        Ist es denn realisierbar wenn ich zwei Werte vergleiche?

        also $alt vs. $neu.

        Das ganze dann mit if steuern. Is das möglich?

        Danke

        Kommentar


        • #5
          Ja - ganz genau so funktioniert die Programmierung eines Gruppenwechsels ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Muss ich dann das in der While-Schleife drin definieren?

            Mir ist nicht ganz klar was ich den Variablen zuweisen soll:

            $alt = $row['kategorie'];
            $neu; --- ???

            echo $row['kategorie'];

            // Wenn diese dann definiert sind, muss ich ne if-abfrage machen:
            if($alt != $neu) {
            echo $row['name'];
            }
            else {
            echo $row['name'];
            }

            Ich kapiers echt net. Schon nur was ich hier oben zusammengedichtet hab. Ich kann mir grad echt nit vorstellen wie das gecodet werden soll :S

            Danke und Gruss

            Kommentar


            • #7
              Hi,

              in alt kommt der Wert der Kategorie nach der Abfrage und in neu der Wert der aktuellen Abfrage.

              Gruß Thomas

              Kommentar


              • #8
                Du meinst das also so:

                while(blablablalbla) {
                $alt = $row['kategorie'];
                $neu = mysql_fetch_object(mysql_query("SELECT kategorie FROM tricons_beratung ORDER BY bid DESC"));
                }

                Sonst kann ich mir nicht vorstellen wie ich das machen soll :S

                Danke

                Kommentar


                • #9
                  Ich hätte es so gelöst:

                  Code:
                  while (hole nächsten datensatz)
                  {
                    neu = hol objekt
                    if (alt != neu)
                    {
                        zeige an
                       alt= neu
                    }
                  }

                  Kommentar


                  • #10
                    Danke vielmals!

                    Ich hatte jetz, ehrlich gesagt, immernoch net ganz ne ahnung wie ich dass auscoden soll. Aber es funktioniert. Vielen vielen dank!

                    Hier noch der Code, falls es jemanden interessiert:
                    PHP-Code:
                    <?php
                        
                    if(!isset($_GET['show'])) {
                        
                        
                    $sql "SELECT bid, name, kategorie FROM tricons_beratung ORDER BY bid DESC LIMIT 0,3";    
                        
                    $result mysql_query($sql) OR die(mysql_error());    
                        if(
                    mysql_num_rows($result)) {
                            while(
                    $row mysql_fetch_assoc($result)) {
                                
                    $neu $row['kategorie'];
                                if (
                    $alt != $neu) {
                                    echo    
                    "<b>";
                                    echo    
                    $row['kategorie'];
                                    echo    
                    "</b><br>";
                                    echo    
                    $row['name'];
                                    echo    
                    "<br>";
                                    
                    $alt $neu;


                                }
                                else {
                                    echo    
                    $row['name'];
                                    echo    
                    "<br>";
                                }
                            }    
                            
                    ?><p>
                    <?php
                        
                    }
                        else {
                        echo 
                    "<b>Keine Einträge vorhanden</b>\n";
                        }
                    ?>
                    Danke Jungs, und noch nen schönen Tag!


                    EDIT
                    Es funktioniert doch nicht. Wenn ich einen neuen Eintrag in die Datenbank mache fügt es den dennoch oben ein, obwohl die "Kategorie" mit einer anderen übereinstimmt. Was ist denn bitte jetzt falsch am Code? :S

                    Edit2: Aaaaaaaaalso: Wenn ich einen neuen Datensatz mache bei welchem die Kategorie eine NEUE Bezeichnung hat - eine welche noch nicht vorgekommen ist - ( INSERT INTO tricons_beratung VALUES('','NAME', 'KATEGORIE'); ) fügt es den Datensatz richtig hinzu.

                    Füge ich nun einen Datensatz hinzu bei welchem die Kategorie schon einmal vorgekommen ist, fügt es diesen auch immer frisch hinzu! Bleibe ich jedoch bei der gleichen Kategorie und nehme einfach einen anderen NAMEN, dann schreibt es dies doch unter die richtige Kategorie :S

                    Sorry wenn es so unverständlich geschrieben ist. Ich weiss net wie ich es sonst beschreiben soll :S

                    Vielen Dank und Gruss

                    Luca Peter
                    Zuletzt geändert von wkd-; 09.03.2006, 10:59.

                    Kommentar


                    • #11
                      Original geschrieben von wkd-
                      Wenn ich einen neuen Eintrag in die Datenbank mache fügt es den dennoch oben ein, obwohl die "Kategorie" mit einer anderen übereinstimmt. Was ist denn bitte jetzt falsch am Code?
                      Du hast das Ergebnis deiner Datenbankabfrage nicht nach der Kategorie sortieren lassen - dass dann die Datensätze natürlich auch in einer Reihenfolge eintrudeln können, die für einen Gruppenwechsel untauglich ist, sollte eigentlich klar sein.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar

                      Lädt...
                      X