Wie kann ich eine Datenbankabfrage in ein array speichern?

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

  • 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

    Comment


    • #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); 

      ?>

      Comment


      • #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.

        Comment


        • #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

          Comment


          • #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']); 
            }
            ?>

            Comment


            • #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).")"

              Comment


              • #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.

                Comment


                • #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']); 

                  Comment


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

                    Hast mehr sehr geholfen

                    Vielen Danke

                    Comment


                    • #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); 

                      Comment

                      Working...
                      X