Intereting Posts
как выполнить цикл значений GET в php Автоматическое выключение мини-корзины через 2 секунды в WooCommerce Компилятор Google Closure и данные о multipart / form-data не работают вычислить разницу в каждом значении массива Как указать путь установки Composer? Устаревший: функция eregi_replace () Декодировать URL в массив, а не строку Существует ли стандарт для документирования параметров GET / POST? Сообщение о успехе, не отображающее использование jQuery ajax Silverstripe / PHP / jQuery – как только форма заполнена пользователем, не позволяйте ей автоматически появляться для каждого посещения Как конвертировать время сервера в локальное время? Операторы переменных в PHP Какими должны быть ресурсы в ACL? Модели объектов или экземпляры объектов? Могу ли я использовать промежуточное программное обеспечение Laravel 5, чтобы позволить пакетам перекрывать маршруты приложений? Предложения / Трюки для дросселирования скрипта PHP

Разделение данных PHP / MySQL на 3 столбца

Мне нужно создать 3 столбца HTML в PHP с данными, возвращаемыми из MySQL. Я бы хотел, чтобы данные разделились равномерно между всеми тремя столбцами … Как мне это сделать?

Вы можете попробовать сделать что-то вроде этого:

$result = mysql_query("SELECT value FROM table"); $i = 0; echo '<table><tr>'; while ($row = mysql_fetch_row($result)){ echo '<td>' . $row[0] . '</td>'; if ($i++ == 2) echo '</tr><tr>' } echo '</tr></table>'; 

обратите внимание, что эта таблица имеет значения, упорядоченные как

 1 2 3 4 5 6 7 8 9 

Если вы хотите, чтобы это было вертикально

 1 4 7 2 5 8 3 6 9 

Тогда вы должны сделать что-то вроде

 $result = mysql_query("SELECT value FROM table"); $data = Array(); while ($row = mysql_fetch_row($result)) $data[] = $row; for ($i = 0; $i < count($data) / 3; $i++){ echo '<table><tr>'; for ($j = 0; $j < 3; $j++){ echo '<td>' . $data[ $i + $j * 3] . '</td>'; } echo '</tr><tr>' } echo '</tr></table>'; 

Вы можете создать таблицу HTML, а затем использовать цикл PHP foreach для циклического завершения набора результатов MySQL и поместить каждое поле в свою собственную таблицу. В конце каждой записи, возвращаемой запросом MySQL, завершите строку таблицы и запустите новую.

FFS, пожалуйста, прекратите использовать древние функции mysql_ * и научите других это делать. вместо этого использовать mysqli?

Небольшая деталь, если вы возвращаете больше записей, чем «fetch_row», используйте «break», основываясь на ответе от @Robbie: Разделите данные mysql в 3 столбцах error -3-columns-error