Да ничего сложного. $query = mysql_query(ЗДЕСЬ ЗАПРОС); $rows = mysql_num_rows($query); $s = mysql_fetch_assoc($query); mysql_free_result($query);
умир пад столом =))))) а вот интересно, что быстрее произойдёт, он книгу прочтёт или кода готового дождётся =)))
Точно правильно? Не выводит ничего. <?php include ("mysql.php"); $query = mysql_query ("SELECT image FROM gallery ORDER BY id"); $rows = mysql_num_rows ($query); $cols = 2; $s = mysql_fetch_assoc ($query); echo "<table border='1'>"; for ($i = 0; $i < $rows; $i++) { if (is_int ($i/$cols)){ echo "<tr><td>".$s[0]."</td>"; } else { echo "<td>".$s[0]."</td></tr>"; } } if (!is_int ($i/$cols)) { echo "<td> </td>"; echo "</tr>"; } echo "</table>"; ?>
блин, если у тебя численный массив, то используй mysql_fetch_row и соотв $s[0], $s[1] а если ассоциативный mysql_fetch_assoc и соотв $s['id'], $s['image'] и тп. Ну почитай хотя бы о разнице массивов. А то у тебя получилось Ты сделал ассоциативный массив Но далее ты пытаешься вывести, как из численного Почитай о разнице между этим. p.s. кстати, функция mysql_fetch_array создает два массива - численно-индексированный и ассоциативный
Так как не писал. Если mysql_fetch_row то под 0 будет только 1 значение, под 1 и далее - пусто. Если mysql_fetch_assoc, то тоже только 1 значение.
Ну чем, чем, чем вам еще помочь??? Ну что сделать???? Я даже Вам код уже написал. И примеры привел. И ссылки. Что еще-то сделать? Я вовсе не против помочь, но я не понимаю, что еще я могу сделать.......
admyx Код работает, но он выводит только одно значение 3 раза! А надо вывести все значения! В этом помогите.
PHP: <?php include ("mysql.php"); $query = mysql_query ("SELECT image FROM gallery ORDER BY id"); $rows = mysql_num_rows ($query); $cols = 2; $s = mysql_fetch_assoc ($query); echo "<table border='1'>"; for ($i = 0; $i < $rows; $i++) { if (is_int ($i/$cols)){ echo "<tr><td>".$s['image']."</td>"; } else { echo "<td>".$s['image']."</td></tr>"; } } if (!is_int ($i/$cols)) { echo "<td> </td>"; echo "</tr>"; } echo "</table>"; ?> Проверяйте. Вроде все норм..
$s = mysql_fetch_assoc ($query); Сюда # for ($i = 0; $i < $rows; $i++) # { Чтобы получилось for ($i = 0; $i < $rows; $i++) { $s = mysql_fetch_assoc ($query); бла бла бла Должно работать.
Кстати, а зачем там проверка is_int (is_int, is_numeric) - проверка на число???? $i/$cols - зачем делится? Можно поподробнее? Если просто нужно вывести данные в несколько колонок, то я ведь уже приводил код (кстати, мне самому в свое время на этом форуме так посоветовал), почему бы не использовать его?
Результат is_int ($i/$cols) или 1 либо 0. Все тоже самое что и в вашем коде. Только написано по другому.
Мой код нормально работает для 2 колонок, а вот для 3 и далее - нет. Не формируеться дополнительный столбик. Что вы можете посоветовать? admyx ваш код пробовал. Работает, но проблема с формированием таблицы.
Вот это точно работает без проблем с форматированием. Сам только что проверял. PHP: <?php error_reporting(E_ALL); $conn = new mysqli('localhost','****','*****','****'); $q = $conn->query("SELECT `id` FROM `users` ORDER BY `id` ASC"); $r = $q->num_rows; echo '<table>'; echo '<tr>'; $x = 0; while($s = $q->fetch_row()) { $x++; echo '<td>'.$s[0].'</td> '; if(($x%3)==0) //соотв, какую цифру поставить - столько столбцов и будет echo '</tr><tr>'; } echo '</tr><table>'; ?> Кста, в вашем случае нужно PHP: <?php $q = mysql_query("SELECT `id` FROM `users` ORDER BY `id` ASC"); mysql_num_rows($q); while($s = mysql_fetch_row($q)) //или while($s = mysql_fetch_assoc($q)) ?> А вообще, вы бы книжку что ли почитали какую-нибудь......... Не все же другие за вас будут делать..
Вот такой вариант работает правильно. for ($i = 0; $i < $rows; $i++) { $s = mysql_fetch_assoc ($query); Да, Ваш код работет верно, но если в 3 столбца таблица будет такой: <table border='1'><tr><td>a/site.jpg</td><td>a/site2.jpg</td><td>a/site1.jpg</td></tr><tr></tr><table> Лишние теги в конце. Их надо убрать, вот только как?)