Ergebnis einer Abfrage ausgeben

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

  • Ergebnis einer Abfrage ausgeben

    Ich habe die folgende Abfrage. Wenn ich sie in phpMyAdmin eingebe liefert es genau die gewünschten Datensätze zurück. Das SELECT-Statement stimmt also.
    PHP-Code:
    $sql "SELECT
                `id`,
                `name`,
                `ebene`,
                `sortierung`,
                `has_child`,
                `parent_id`,
                `status`,
                `type`
               FROM
                db_kategorien
               WHERE
                lang = 0
               ORDER BY
                stage, sort ASC"

    Wie kann ich aber nun einen Array ausgeben der die gelieferten und gefragten Daten beinhaltet?

    Habe erstmal die Verbindung zur Datenbank hergestellt, das klappt. Danach wollte ich so den Array auslesen/ausgeben:
    PHP-Code:
    $result mysql_query($sql); 
    Mit print_r($result) kommt aber nur Resource id #14.

    Also habe ich noch folgenden Code hinzugefügt:
    PHP-Code:
    $array mysql_fetch_array($result); 
    Wie schaffe ich es, dass es mir einen korrekten Array erzeugt und ausgibt?

    Es soll mal einen Kategoriebaum ausgeben, deshalb vergebe ich jedem Eintrag eine Ebene und eine Sortierung. Da muss man doch irgendwie einen Array rausbekommen können der korrekt anhand dessen verschachtelt ist?

    Komme da überhaupt nicht weiter.
    Zuletzt geändert von Screw Driver; 01.10.2006, 22:16.
    Gruß,
    Peter

  • #2
    Re: Ergebnis einer Abfrage ausgeben

    Original geschrieben von Screw Driver Also habe ich noch folgenden Code hinzugefügt:
    PHP-Code:
    $array mysql_fetch_array($result); 
    Wie schaffe ich es, dass es mir einen korrekten Array erzeugt und ausgibt?
    das ganze noch schön in eine while-schleife packen, so wie bei mysql_fetch_array beschrieben.

    Kommentar


    • #3
      Das sind aber wirklich Grundlagen! Lies nochmal nach, auf den Manualseiten zu mysql_fetch_* zum Beispiel.

      Kommentar


      • #4
        Ich habe gelesen, dass es mit foreach schneller gehen soll.

        Primäres Problem ist einen Array zusammenzubauen und ich finde kein Tutorial, das mir bei dem schachteln hilft. Deshalb dachte ich mir, dass ihr mir da schneller und einfacher weiterhelfen könnt?
        Gruß,
        Peter

        Kommentar


        • #5
          Original geschrieben von Screw Driver
          Ich habe gelesen, dass es mit foreach schneller gehen soll.
          dann mach es doch damit, du schlaumeier

          Primäres Problem ist einen Array zusammenzubauen und ich finde kein Tutorial, das mir bei dem schachteln hilft.
          dein primäres problem sind die fehlenden grundlagen

          Kommentar


          • #6
            @3DMax:
            Ich bin noch relativ am Anfang und das reine lesen vermittelt mir keine Grundlagen, ich muss das auch irgendwo anwenden. Wäre also nett wenn du als erfahrender Programmierer nicht gleich so herablassend posten würdest.

            Bin nun schon ein Stückchen weiter. Habe folgenden Code:
            PHP-Code:
            while( $row $db->fetch($db) ) {
             
            $cup++;
              
            $array[] = array('cid'=>$row['cid'],
                               
            'name'=>$row['name'],
                               
            'ebene'=>$row['ebene'],
                               
            'sortierung'=>$row['sortierung'],
                               
            'has_child'=>$row['has_child'],
                               
            'parent_id'=>$row['parent_id'],
                               
            'status'=>$row['status'],
                               
            'type'=>$row['type']);

            Das erzeugt mir einen Array $array, der nach Ebene und Sortierung sortiert ist (kommt aus SELECT-Abfrage). Jeder dieser Schlüssel enthält einen weiteren Array (array()) mit den einzelnen Daten.

            Sieht etwa so aus:
            PHP-Code:
            Array
            (
                [
            0] => Array
                    (
                        [
            cid] => 1
                        
            [name] => Root
                        
            [ebene] => 0
                        
            [sortierung] => 0
                        
            [has_child] => 1
                        
            [parent_id] => 0
                        
            [status] => 1
                        
            [type] => 0
                    
            )

                [
            1] => Array
                    (
                        [
            cid] => 2
                        
            [name] => Eintrag 1
                        
            [ebene] => 1
                        
            [sortierung] => 0
                        
            [has_child] => 0
                        
            [parent_id] => 1
                        
            [status] => 1
                        
            [type] => 0
                    
            )

            Damit habe ich ja einen einzelnen Array mit allen Daten der Abfrage. Ist das Vorgehen soweit korrekt?

            Müsste ich nun diesen einzelnen großen Array mittels einer Funktion bearbeiten und dadurch einrücken, also die Kinder jeweils ihren Eltern zuordnen oder ist das Vorgehen schon falsch?

            Hat jemand einen Tipp wie ich nun weitermachen muss?
            Gruß,
            Peter

            Kommentar


            • #7
              Was willst du denn bearbeiten? Wieso machst du ein mehrdimensionales Array? Willst dein Ergebniss nicht einfach nur angezeigt bekommen?

              Kommentar


              • #8
                Ich würde gerne so einen Baum (beliebig tief schachtelbar) erstellen:


                Da brauchte ich dann ja u.a. die ID, den Name, den Typ für das Icon davor.

                Weiß leider aber nicht, wie ich die Verschachtelung hinbekomme?
                Gruß,
                Peter

                Kommentar


                • #9
                  such mal nach nested sets. das dürfte dir weiter helfen.

                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar

                  Lädt...
                  X