it-swarm.com.de

Holen Sie Zeilen aus der MySQL-Tabelle in PHP-Arrays

Wie bekomme ich jede Zeile einer MySQL-Tabelle in ein PHP-Array? Benötige ich dafür ein mehrdimensionales Array? All dies dient dazu, später einige Punkte auf einer Google-Karte anzuzeigen.

12
redfrogsbinary

Sie müssen alle gewünschten Daten aus der Tabelle abrufen. So etwas würde funktionieren:

$SQLCommand = "SELECT someFieldName FROM yourTableName";

Diese Zeile wird in Ihre Tabelle eingefügt und erhält die Daten in 'someFieldName' aus Ihrer Tabelle. Sie können weitere Feldnamen mit "someFieldName" hinzufügen, wenn Sie mehr als eine Spalte erhalten möchten.

$result = mysql_query($SQLCommand); // This line executes the MySQL query that you typed above

$yourArray = array(); // make a new array to hold all your data


$index = 0;
while($row = mysql_fetch_assoc($result)){ // loop to store the data in an associative array.
     $yourArray[$index] = $row;
     $index++;
}

Die obige Schleife durchläuft jede Zeile und speichert sie als Element in dem neuen Array, das Sie erstellt hatten. Dann können Sie mit diesen Informationen machen, was Sie möchten, zB auf dem Bildschirm ausdrucken: 

echo $row[theRowYouWant][someFieldName];

Wenn also $ theRowYouWant gleich 4 ist, sind dies die Daten (in diesem Fall 'someFieldName') aus der fünften Zeile (denken Sie daran, die Zeilen beginnen bei 0!).

31
Mr. Starburst
$sql = "SELECT field1, field2, field3, .... FROM sometable";
$result = mysql_query($sql) or die(mysql_error());

$array = array();

while($row = mysql_fetch_assoc($result)) {
   $array[] = $row;
}

echo $array[1]['field2']; // display field2 value from 2nd row of result set.
14
Marc B

Die anderen Antworten funktionieren - allerdings forderte OP alle Zeilen auf und wenn ALLE Felder gewünscht werden, wäre es viel schöner, es generisch zu lassen, anstatt das PHP aktualisieren zu müssen, wenn sich die Datenbank ändert

$query="SELECT * FROM table_name";

Auch bis zu diesem Punkt kann das Zurückgeben der Daten generisch bleiben - das JSON-Format gefällt mir sehr, da es dynamisch aktualisiert wird und leicht aus jeder Quelle extrahiert werden kann.

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{
  echo json_encode($row);
}
2
morty346

Sie können es ohne Schleife machen. Verwenden Sie einfach den Befehl fetch_all

$sql     = 'SELECT someFieldName FROM yourTableName';
$result  = $db->query($sql);
$allRows = $result->fetch_all();
1
Adam

HIER IS IHR CODE, USE IT. IT IS wurde getestet.

$select=" YOUR SQL QUERY GOOES HERE";
$queryResult= mysql_query($select);

//DECLARE YOUR ARRAY WHERE YOU WILL KEEP YOUR RECORD SETS
$data_array=array();

//STORE ALL THE RECORD SETS IN THAT ARRAY 
while ($row = mysql_fetch_array($queryResult, MYSQL_ASSOC)) 
{
    array_Push($data_array,$row);
}


mysql_free_result($queryResult);


//TEST TO SEE THE RESULT OF THE ARRAY 
echo '<pre>';
print_r($data_array);
echo '</pre>';

VIELEN DANK