Я пытаюсь создать функцию, которая извлекает информацию из базы данных и вставляет ее в ассоциативный массив в PHP, используя mysql_fetch_assoc
, и возвращает массив, чтобы другая функция отображала его. Мне нужен способ отображения возвращаемого массива. Это должно быть другая функция от первогоОтображение ассоциативного массива в PHP
ответ
Предполагая, что вы сделали вызов, и получил $ результата обратно:
$array = new array();
while($row = mysql_fetch_assoc($result)){
$array[] = $row;
}
return $array;
Это должно заставить вас идти:
$rows = mysql_query("select * from whatever");
if ($rows) {
while ($record = mysql_fetch_array($rows)) {
echo $record["column1"];
echo $record["column2"];
// or you could just var_dump($record); to see what came back...
}
}
должно работать:
$rows = mysql_query("select * from whatever");
if ($rows) {
$header = true;
while ($record = mysql_fetch_assoc($rows)) {
if ($header) {
echo '<tr>';
foreach (array_keys($record) AS $col) {
echo '<td>'.htmlspecialchars($col).'</td>';
}
echo '</tr>';
$header = false;
}
echo '<tr>';
foreach (array_values($record) AS $col) {
echo '<td>'.htmlspecialchars($col).'</td>';
}
echo '</tr>';
}
}
(Да, наглая мод кода FOSCO в)
Это должно напечатать заголовки столбцов один раз, затем содержимое после этого. Это будет печатать только те столбцы, которые были извлечены из БД, независимо от запроса.
Я чувствую, что должна быть лучшая альтернатива if ($ header), которую цикл while должен вычислять каждую итерацию. – Chris
@Chris Вы можете сделать это, не проверяя каждый раз. Возьмите строку из БД, проверьте, есть ли у вас ее, распечатайте заголовки, а затем сделайте ... в то время как цикл над ним. Однако этот способ проще реализовать и прочитать, а проверка - O (1), и в этом случае вычисляет 1/(4+ (n * 4)) вычислений на строку, результат пренебрежимо мал. – Tarka
Если вы хотите получить информацию о том, что находится в массиве (для целей отладки), вы можете использовать print_r($array)
или var_dump($array)
или var_export($array)
для печати в формате массива PHP.
Если вы хотите хорошо форматированный вывод, вы можете захотеть сделать что-то вроде:
<table border="1">
<?php
foreach($array as $name => $value) {
echo "<tr><th>".htmlspecialchars($name).
"</th><td>".htmlspecialchars($value)."</th></tr>";
}
?>
</table>
Это будет, как вы могли уже видеть, печатать отформатированную таблицу с именами в левой колонке и значении в правой колонке.
Не забудьте закодировать специальные символы. – Artefacto
while ($row = mysql_fetch_assoc($result)) {
foreach ($row as $column => $value) {
//Column name is in $column, value in $value
//do displaying here
}
}
Если это новая программа, используйте вместо этого расширение mysqli.
- 1. Отображение не ассоциативного массива
- 2. Отображение ассоциативного массива в PHP-сессии
- 3. Сортировка ассоциативного массива PHP
- 4. Кодировки ассоциативного массива PHP
- 5. Конфигурация ассоциативного массива php
- 6. PHP Перебор ассоциативного массива
- 7. PHP итерация ассоциативного массива
- 8. имя ассоциативного массива php?
- 9. PHP ассоциативного multidimensions массива
- 10. Implode ассоциативного массива PHP
- 11. Ошибка ассоциативного массива php
- 12. Отображение многомерного ассоциативного массива в виде таблицы
- 13. JavaScript ассоциативного массива в PHP
- 14. Сортировка ассоциативного массива в PHP
- 15. Сортировка ассоциативного массива в PHP
- 16. Передача ассоциативного массива в PHP
- 17. Перебор ассоциативного массива в PHP
- 18. Вставка значения ассоциативного массива Php, отображение неправильной клавиши
- 19. Отображение двумерного ассоциативного массива с угловым 2
- 20. php string для ассоциативного массива
- 21. PHP json_decode для ассоциативного массива
- 22. PHP Динамически доступ ассоциативного массива
- 23. Назначение переменной ассоциативного массива PHP
- 24. PHP: проблема индексации ассоциативного массива
- 25. PHP json_encode многомерного ассоциативного массива
- 26. PHP SQL чтение ассоциативного массива
- 27. Индекс ассоциативного массива PHP undefined
- 28. PHP Доступ ассоциативного массива Значение
- 29. PHP ассоциативного массива Объединить Key
- 30. PHP - Добавить значения ассоциативного массива
Вы будете нуждаться, чтобы быть более конкретной информацией о том, как хочет, чтобы отобразить результаты; технически 'vardump ($ array);' отвечает на ваш вопрос –
Просьба прокомментировать или обновить исходный вопрос, чтобы уточнить его, а не создавать новый вопрос. –