Как я могу получить каждую строку таблицы mysql и поместить ее в массив php? Нужен ли мне многомерный массив? Цель всего этого - показать некоторые точки на карте google позже.
Получение строк из таблицы mysql в php-массивы
Ответ 1
Вам нужно получить все данные, которые вы хотите получить из таблицы. Что-то вроде этого будет работать:
$SQLCommand = "SELECT someFieldName FROM yourTableName";
Эта строка входит в вашу таблицу и получает данные из "someFieldName" из вашей таблицы. Вы можете добавить больше имен полей, где "someFieldName" , если вы хотите получить более одного столбца.
$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++;
}
Вышеупомянутый цикл проходит через каждую строку и сохраняет его как элемент в новом массиве, который вы сделали. Затем вы можете делать все, что хотите, с этой информацией, например, распечатывать ее на экране:
echo $row[theRowYouWant][someFieldName];
Итак, если $theRowYouWant равно 4, это будут данные (в данном случае "someFieldName" ) из 5-й строки (помните, что строки начинаются с 0!).
Ответ 2
$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.
Ответ 3
Другие ответы действительно работают, однако OP запросил все строки, и если бы все поля были нужны, было бы гораздо лучше оставить его общим, вместо того, чтобы обновлять php, когда база данных изменяет
$query="SELECT * FROM table_name";
Кроме того, к этому моменту возвращение данных также может быть оставлено общим - мне очень нравится формат JSON, поскольку он будет динамически обновляться и может быть легко извлечен из любого источника.
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo json_encode($row);
}
Ответ 4
ЗДЕСЬ ВАШ КОД, ИСПОЛЬЗУЙТЕ ЭТО. ИСПЫТАНИЕ.
$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>';
БЛАГОДАРЯ
Ответ 5
Вы можете сделать это без цикла. Просто используйте команду fetch_all
$sql = 'SELECT someFieldName FROM yourTableName';
$result = $db->query($sql);
$allRows = $result->fetch_all();