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