2011-01-13 7 views
0

hinzufügen So ist diese Frage wahrscheinlich ziemlich einfach.Wie man SQL-Elemente zu einem Array in PHP

Ich möchte ein Array aus ausgewählten Elementen aus einer SQL-Tabelle erstellen.

Ich bin derzeit mit:

$rcount = mysql_num_rows($result); 

for ($j = 0; $j <= $rcount; $j++) 
{ 
    $row = mysql_fetch_row($result); 
    $patients = array($row[0] => $row[2]); 
} 

Ich möchte dies ein Array wie folgt zurück:

$patients = (bob=>1, sam=>2, john=>3, etc...) 

Leider ist in seiner jetzigen Form ist dieser Code entweder Kopieren nichts mit dem Array oder nur das letzte Element kopieren.

+0

ich nicht wirklich verstehen, was Sie hier tun wollen, mit in der Für die Schleife verwenden Sie nicht die Variable j. Bitte machen Sie es klarer, – tkt986

Antwort

2

Versuchen.

$patients = array(); 
while ($row = mysql_fetch_row($result)) { 
    $patients[$row[0]] = $row[2]; 
} 

Wenn es nicht funktioniert, stimmt etwas nicht mit Ihrer Abfrage.

+0

Dies ist viel näher an dem, was ich will, aber ich versuche Arrays in Arrays zu vermeiden. Gibt es eine Möglichkeit dies zu modifizieren, so dass ich kein Array ([0] => Array ([bob] => 5) [1] => Array ([fred] => 1)), sondern Array ([ bob] => 5, [fred] => 1)? Vielen Dank. –

+0

Okay, sieh die Änderung, die ich gemacht habe. – Jonah

0

können Sie print_r()

hier verwenden ein Beispiel ist dies stattdessen mehr

<pre> 
<?php 
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x', 'y', 'z')); 
print_r ($a); 
?> 
</pre> 

hier http://php.net/manual/en/function.print-r.php

+0

Ich bin nicht sicher, ich verstehe, wird dies nicht nur die Elemente des Arrays drucken, nachdem ich es erstellt habe. Außerdem, so wie ich es verstehe, würde es mir nicht erlauben, nur bestimmte Elemente aus der Tabelle auszuwählen, die in das Array eingefügt werden sollen. –

0

Wie wäre es damit:

while($row = mysql_fetch_assoc($result)){ 
     $arr_row=array(); 
     $count=0; 
     while ($count < mysql_num_fields($result)) {  
      $col = mysql_fetch_field($result, $count); 
      $arr_row[$col -> $count] = $row[$col -> $count];   
      $count++; 
} 

Aber ich nicht sicher, ob dies ist, was Sie suchen, nur raten .. ount

Verwandte Themen