Wie kann ich eine Datenbankabfrage in ein array speichern?

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

  • Wie kann ich eine Datenbankabfrage in ein array speichern?

    Hallo,
    Wie kann ich eine Datenbankabfrage in ein array speichern?

    THX for help

  • #2
    in dem Du Dir die Array Funktionen anschaust
    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

    Kommentar


    • #3
      Original geschrieben von Arni
      in dem Du Dir die Array Funktionen anschaust
      Das krige ich zum teil ja auch hin - aber ich will die ganzen spalten einlesen.

      PHP-Code:
      <?
      mysql_select_db("testdaten") 
      or die ("Die Datenbank existiert nicht."); 
      $result = mysql_query("SELECT check2 FROM mitarbeiter");    
      while($row = mysql_fetch_array($result)) 
         $array1[] = $row['check2'];     
      $array_count = count($array1); 

      ?>

      Kommentar


      • #4
        Original geschrieben von Zombie
        ... aber ich will die ganzen spalten einlesen.
        Meinst du damit etwa

        PHP-Code:
        $result mysql_query("SELECT * FROM mitarbeiter"); 
        Dann musst du in deiner While-Schleife einfach die Zeile in dein Array packen.
        PHP-Code:
        while($row mysql_fetch_array($result)) 
           
        $array1[] = $row
        Du hast dann ein multidimensionales Array und kannst z.B. über $array1[0]['check2'] usw. auf die einzelnen Werte zugreifen.

        Kommentar


        • #5
          PHP-Code:
          while($row mysql_fetch_array($result)) 
          {
               
          $array1[] = $row['check2']; 
          }

          print_r($array1); 
          schau es dir mal an.
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            problem

            Ich lade 2 Spalten(Jweils nur die personalnummer) von unterschiedlichen Datenbanken in 2 Arrays und vergleiche diese (strcmp) um herauzufinden ob die Datenbaken jeweils die gleichen Daten haben bzw auf den aktuellen stand sind.

            Wenn ich nun merke das eine personalnummer in der anderen Datenbank nicht vorhanden ist will ich eine abfrage machen und dann diese in ein array speichern und unten zum testen wieder herausgeben.

            Leider wird beim mir nichts angezeigt - es kommt auch kein fehlermeldung.
            PHP-Code:
            <?
            for($i=0;$i<$array_count;$i++) 
            {
                $wert = strcmp($array[$i],$array1[$i]);

                if ($wert < 0)
                { 
                    $result = mysql_query("SELECT * FROM mitarbeiter WHERE check2 = ('$array1[$i]')");    
                while($row = mysql_fetch_array($result)) 
                $AbfrageImArray[] = $row;     
                $array_count = count($AbfrageImArray); 
                }
                
                elseif ($wert > 0) 
                {
                    $result = mysql_query("SELECT * FROM mitarbeiter WHERE check2 = ('$array1[$i]')");    
                while($row = mysql_fetch_array($result)) 
                $AbfrageImArray[] = $row;     
                $array_count = count($AbfrageImArray); 
              
                
                }
            }

            for($i=0;$i<$array_count;$i++) 

                echo($AbfrageImArray[$i]['Nachname']); 
            }
            ?>

            Kommentar


            • #7
              Re: problem

              PHP-Code:
              if ($wert 0
                  
              // Codeblock
              elseif ($wert 0)
                  
              // der gleiche Codeblock 
              ist das gleiche wie
              PHP-Code:
              if ($wert != 0)
                  
              // Codeblock 
              Es ist keine so gute Idee, Queries in einer for-Schleife abzusetzen. Wie wäre es stattdessen mit
              PHP-Code:
              $sql "SELECT * FROM tab WHERE attr IN(".implode(","$array).")"

              Kommentar


              • #8
                Danke für den tipp.

                PHP-Code:
                <?


                for($i=0;$i<$array_count;$i++) 
                {
                    $wert = strcmp($array[$i],$array1[$i]);

                    if ($wert != 0)
                    { 
                      $result = mysql_query("SELECT vorname, nachname, personalnummer  FROM mitarbeiter WHERE check2 = ('$array1[$i]')");    
                      while($row = mysql_fetch_array($result)) 
                      $AbfrageImArray[]= $row['vorname'];    
                   
                    }
                    
                }

                for($i=0;$i<$array_count;$i++) 

                    echo($AbfrageImArray[$i]); 

                ?>

                Mein Problem ist die Zeile:
                $AbfrageImArray[]= $row['vorname'];
                Ich will auch noch weitere spalten aus der datenbank in diesen array speichern .Das dumme ist nur das die ganze spalten bei mir in der datenbank namen haben und keine zahlen sind. Ich habes mit mehrdimensinonalen arrays probiert aber ich bekomme das einfach nicht hin.

                Kommentar


                • #9
                  Hi,

                  pack doch das ganze mittels mysql_fetch_assoc() in dein Array:
                  PHP-Code:
                  while($row mysql_fetch_assoc($result))
                    
                  $AbfrageImArray[]= $row
                  Dann kannst du in deinem Array darauf zugreifen:
                  PHP-Code:
                  for($i=0;$i<$array_count;$i++) {
                    echo(
                  $AbfrageImArray[$i]['vorname']); 
                    echo(
                  $AbfrageImArray[$i]['name']); 
                    echo(
                  $AbfrageImArray[$i]['personalnummer']); 

                  Kommentar


                  • #10
                    Waah super - auf so ein tipp warte schon den ganzen tag.

                    Hast mehr sehr geholfen

                    Vielen Danke

                    Kommentar


                    • #11
                      Jetz räum noch en bischen auf, dann is gut

                      PHP-Code:
                      $sql "SELECT vorname, nachname, 
                              personalnummer  FROM mitarbeiter 
                              WHERE check2 = '"
                      .$array1[$i]."'";
                      $result mysql_query($sql); 

                      Kommentar

                      Lädt...
                      X