Kleine Frage zu Mysql und PHP

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

  • Kleine Frage zu Mysql und PHP

    Also ich habe zwei Tabellen:

    tab1:
    Code:
    | ID |   Name   |
    | 1  |   SAT    |
    | 2  | Receiver |
    ...
    tab2:
    Code:
    | ID | ID_TAB1 |   Name    |
    | 1  |    1    | LNB       |
    | 2  |    1    | Schüsseln |
    | 3  |    2    | Devon     |
    | 4  |    2    | Sony      |
    ...
    Wie ihr seht gehören beide tabellen zusammen.

    ID = ID_TAB1

    Nun möchte ich das diese Tabellen zusammen so ausgegeben werden.

    Besser gesagt soll das Array so aussehen:
    Code:
    Array
    (
        [0] => Array
            (
                [inhalt1] => SAT
                [loop] => Array
                    (
                        [0] => Array
                            (
                                [inhalt2] => LNB
                            )
    
                        [1] => Array
                            (
                                [inhalt2] => Schüsseln
                            )
                    )
            )
    
        [1] => Array
            (
                [inhalt1] => Receiver
                [loop] => Array
                    (
                        [0] => Array
                            (
                                [inhalt2] => Devon
                            )
    
                        [1] => Array
                            (
                                [inhalt2] => Sony
                            )
                    )
            )
    )
    Nun meine Frage wie mach icdh das. Geht das mit ein Join anweisungen oder muss ich mehrere Datenbankzugriffe benutzen?
    Zuletzt geändert von Flashfactor; 23.11.2002, 13:55.
    mfg Flashfactor

    Gebildet ist, wer weiß, wo er findet, was er nicht weiß.

  • #2
    Ich weiss nicht warum es verschoben wurde da es größten Teils um PHP geht.

    also ich möchte ein array produzieren was so aussieht wie die Struktur die ich im ersten Post gepostet habe.

    Und das soll mit so wenig wie möglich Datenbankzugriffen geschehen.
    mfg Flashfactor

    Gebildet ist, wer weiß, wo er findet, was er nicht weiß.

    Kommentar


    • #3
      Jetzt bist du wieder hier!

      Kommentar


      • #4
        Hat den keiner einen Ansatz wie dieses Problem mit minimalen Datenbank zugriff lösen kann?
        mfg Flashfactor

        Gebildet ist, wer weiß, wo er findet, was er nicht weiß.

        Kommentar


        • #5
          Also ich habs mal selber versucht. Bin für Kritiken offen. Der nachteil ist natürlich das er oft auf die Datenbank zugreift.

          PHP-Code:
          <?php
          include("inc/config.php");
          include_once(
          "inc/flashtemplate.php");
          $array = array();
          $sql1 "SELECT * FROM ".$std['table_sub']."kategorie ORDER BY id ASC";
          $result1 mysql_query($sql1$db);
          while(
          $row mysql_fetch_row($result1)) {
              
          $sql2 "SELECT id, name FROM ".$std['table_sub']."unterkat WHERE id_kat='".$row[0]."' ORDER BY id ASC";
              
          $result2 mysql_query($sql2$db);
              
          $ukat = array();
              while(
          $row2 mysql_fetch_row($result2)) {
                  
          $temp = array("ukat" => $row2[1], "ukat_link" => $row2[0]);
                  
          array_push($ukat$temp);
              }
              
          $kat = array("kat" => $row[1], "loop" => $ukat);
              
          array_push($array$kat);
          }
          //Template-syntaxteil
          $tmpl = new flashtemplate;
          $tmpl -> start_time();
          $tmpl -> ffile("tpl/menu.htm");
          $name = array("kat""ukat");
          $tmpl -> floop($name$array);
          $tmpl -> fparse();
          ?>
          So und das Array ($array) schaut jetzt nun so aus.

          Code:
          Array
          (
              [0] => Array
                  (
                      [kat] => SAT
                      [loop] => Array
                          (
                              [0] => Array
                                  (
                                      [ukat] => LNB
                                      [ukat_link] => 1
                                  )
          
                              [1] => Array
                                  (
                                      [ukat] => Schüsseln
                                      [ukat_link] => 2
                                  )
          
                          )
          
                  )
          
              [1] => Array
                  (
                      [kat] => Receiver
                      [loop] => Array
                          (
                              [0] => Array
                                  (
                                      [ukat] => Devon
                                      [ukat_link] => 5
                                  )
          
                              [1] => Array
                                  (
                                      [ukat] => Sony
                                      [ukat_link] => 6
                                  )
          
                          )
          
                  )
          
          )
          Hättet Ihr Vorschläge wie ich die Anzahl der Zugriffe auf die Datenbank minimieren kann. Tabellenstruktur ist wie im ersten Post.

          Die Einträge was ich angegeben habe sind nur Demodaten. In wirklichkeit werden es ca. 10 Hauptkategorien und jeweils ca. 10 Unterkategorien.

          Also greift er nur für das Menu schon 101 auf die Datenbank zu.

          Das ist sehr schlecht.
          Mir fehlt halt nichts besseres ein.
          mfg Flashfactor

          Gebildet ist, wer weiß, wo er findet, was er nicht weiß.

          Kommentar

          Lädt...
          X