Перейти к содержимому

Реферальная программа Мегаплана

Партнерская программа Kredov

  • Закрытая тема Тема закрыта

Все запросы из одной таблицы без иттераций

#1 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0
0

Отправлено 06 Ноябрь 2009 - 23:53

Возник такой вопрос. Есть таблица в HTML. Скажем 3х3. В базе данных таблица с девятью записями. Каждая запись предназначена для помещения в определенную ячейку HTML-таблицы. Как это организовать?

 

 

  • 0

#2 psiallon

psiallon
  • Пользователь
  • 14 сообщений
  • Репутация: 0

Отправлено 07 Ноябрь 2009 - 15:12

<?php
$msConnect = mysql_connect("localhost", "root", "");
mysql_select_db("test", $msConnect);

$res = mysql_query("SELECT * FROM Test");
$count = mysql_num_rows($res);

print '<table>';
for ($i = 0; $row = mysql_fetch_array($res); $i++) {
if ($i == 0) { // Если начало таблицы
print '<tr>';
}
else if ($i % 3 == 0) { // Если новая строка
print '</tr><tr>';
}

print '<td>'. $row['Value'] .'</td>'; // Воводим ячейку

if ($i + 1 == $count) { // Если конец таблицы
if (($i + 1) % 3 != 0) { // Если не последняя ячейка строки
for ($j = 0; $j < 2 - ($i % 3); $j++) { // Выводим пустые ячейки
print '<td></td>';
}
}
print '</tr>';
}
}
print '</table>';
?>

  • 0

#3 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 07 Ноябрь 2009 - 17:45

gaaarfild, не понятна суть вопроса, как и в какой последовательности выводить из БД данные определить можешь только ты, например формированием шаблона или каким-либо условием.
А если тебе не важен порядок последовательности, то пример выше. Если последовательность формируется по условию в БД, отсортирую запрос по определённому полю и всё.

Если же я что-то не так говорю, уточни свой вопрос!
  • 0

#4 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 10 Ноябрь 2009 - 16:13

Да. =) Ты не понял. =)
Предыдущий пост подсказал правильно.
Но можно и проще сделать.
Просто хотел узнать, как сделать без двойного цикла заполнение таблицы HTML из таблицы в БД. Про порядок я ничего не говорил. Он будет отсортирован по ID.
  • 0

#5 kolesgan

kolesgan
  • Пользователь
  • 73 сообщений
  • Репутация: 0

Отправлено 24 Март 2010 - 21:49

А как можно сделать сортировку из базы, чтоб сортировалось по следнему добавленному, тоесть, чтоб последний добавленный "урок" к примеру был на самом верху
  • 0

#6 gaaarfild

gaaarfild
    Topic Starter
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 24 Март 2010 - 22:30

Тебе необходимо отсортировать их
SELECT * FROM table_name ORDER BY id DESC


ORDER BY - это отсортировать. дальше идет поле, по которому будем сортировать(в данном случае id). Лучший вариант, чаще всего - это ключевое поле с автоинкрементом(Тоесть то, которое автоматически увеличивается на 1 с каждой записью)
И параметр DESC - означает в обратном порядке. Так же есть вариант - в прямом порядке ASC (Ascending, Descending).

То есть если прочитать это на человеческом - Выбрать все записи из таблицы table_name отсортировав их по полю id в обратном порядке. =)
  • 0

#7 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 28 Март 2010 - 12:37

kolesgan, а вообще лучше иметь отдельное поле с типом TIMESTAMP, оно заполняется автоматически текущей датой, если не указано иного, при добавлении записи в базу. Затем по этому полю сортировать как показал gaaarfild

Тему закрываю, а то уже постят свои вопросы.
P.s.: Один вопрос - одна тема (если конечно вопрос напрямую не связан с изначально заданным)
  • 0


Оформление форума – IPBSkins.ru