web-dev-qa-db-fra.com

Récupère les lignes de la table mysql dans les tableaux php

Comment puis-je obtenir chaque ligne d'une table mysql et la mettre dans un tableau php? Ai-je besoin d'un tableau multidimensionnel pour cela? Le but de tout cela est d’afficher ultérieurement des points sur une carte google.

12
redfrogsbinary

Vous devez obtenir toutes les données souhaitées à partir de la table. Quelque chose comme ça marcherait:

$SQLCommand = "SELECT someFieldName FROM yourTableName";

Cette ligne va dans votre table et récupère les données dans 'someFieldName' de votre table. Vous pouvez ajouter plusieurs noms de champs où "someFieldName" si vous souhaitez obtenir plusieurs colonnes.

$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++;
}

La boucle ci-dessus parcourt chaque ligne et la stocke en tant qu'élément du nouveau tableau que vous avez créé. Vous pouvez ensuite faire ce que vous voulez avec cette information, comme l’imprimer à l’écran: 

echo $row[theRowYouWant][someFieldName];

Donc, si $ theRowYouWant est égal à 4, ce sont les données (dans ce cas, 'someFieldName') de la 5ème ligne (rappelez-vous, les lignes commencent à 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

Les autres réponses fonctionnent. Cependant, OP demande pour toutes les lignes et si TOUS les champs sont demandés, il serait bien plus agréable de le laisser générique au lieu de devoir mettre à jour le php lorsque la base de données change

$query="SELECT * FROM table_name";

Aussi, à ce stade, le retour des données peut aussi rester générique - j'aime beaucoup le format JSON, car il se met à jour de manière dynamique et peut être facilement extrait de n'importe quelle source.

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

Vous pouvez le faire sans boucle. Utilisez simplement la commande fetch_all

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

ICI IS VOTRE CODE, UTILISEZ-LE. IL IS TESTÉ.

$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>';

MERCI

1