Если я получаю данные из базы данных MySQL и используя цикл while для итерации данных, как бы добавить каждый из них в массив?
$result = mysql_query("SELECT * FROM `Departments`"); while($row = mysql_fetch_assoc($result)) { }
Создайте массив, когда вы повторяете цикл while.
$result = mysql_query("SELECT * FROM `Departments`"); $results = array(); while($row = mysql_fetch_assoc($result)) { $results[] = $row; }
В качестве альтернативы, если вы использовали PDO , вы можете сделать это автоматически .
Это сделает трюк:
$rows = array(); $result = mysql_query("SELECT * FROM `Departments`"); while($row = mysql_fetch_assoc($result)) { $rows[] = $row; }
Это был один из самых быстрых способов создания (многомерных) массивов. Я не уверен, хотите ли вы, чтобы все ваши результаты были вымыты в один массив или нет.
// Read records $query = "SELECT * FROM `Departments`"; $query = mysql_query($query); // Put them in array for($i = 0; $array[$i] = mysql_fetch_assoc($query); $i++) ; // Delete last empty one array_pop($array);
Вы можете использовать print_r ($ array), чтобы увидеть результаты.
Если в таблице отделов имеется несколько столбцов, и вы хотите сохранить их в другом массиве.
$result = mysql_query("SELECT * FROM `Departments`"); $dept_id = array(); $dept_name=array(); while($row = mysql_fetch_assoc($result)) { //fetches and store all results in id column on your departments table $dept_id= $row['id']; //fetches and store all results in name column on your departments table $dept_name=$row['name']; }
мой fav следующий:
$result=odbc_exec($conn,$sql); if ($result) { while($found_results[] = odbc_fetch_array($result)) { } array_pop($found_results); //pop off the empty line from while loading }
вам не нужно вытаскивать последнюю строку, но она оставляет пустую, если вы ее опустите. работает одинаково для mysql.