|
|
|
| Такая фишка, сделал форум с использованием MySQL и столкнулся с такой проблемой. После добавления сообщения оно может появится где угодно хоть в начале хоть в конце форума. Как сортировать посты?
Пытался сделать ORDER BY `date` DESC; Но во первых посты вниз головой ставятся и последний теряется :(
Вот код... :)
<?
require_once("config.php");
$query = mysql_query("SELECT * FROM `post` ;");
while($row = mysql_fetch_object($query))
{
@$id_p[$i] = $row->id; //ID поста
@$id_t[$i] = $row->id_t; //ID темы куда отправляли пост
@$name[$i] = $row->name; //Кто отправил
@$text[$i] = $row->text; //Текст сообщения
@$date[$i] = $row->date; //Дата отправки
@$i++;
}
$all = $i;
for($i=0; $i<$all; $i++)//цикл от 0 до всех постов
{
if($id_t[$i]==$t)//Если пост написан в тот форум какой просматривают
{
// Вывод сообщений
}
}
?>
|
Почему они скачут? что изменить чтобы они сортировались по дате?
Заранее СПАСИБО! :) | |
|
|
|
|
|
|
|
для: Job
(27.06.2007 в 21:53)
| | попробуйте занулить перед while значение счетчика $i:
<?php
$query = mysql_query("SELECT * FROM `post` ;");
$i=0;
while($row = mysql_fetch_object($query)) {..$i++;..}
?>
|
| |
|
|
|
|
|
|
|
для: Job
(27.06.2007 в 21:53)
| | Вы не указали необхдимость конкретного порядка вывода. У самой таблицы порядка нет.
ORDER BY date DESC - значит в порядке убывания поля date. А не возрастания.
Если date - это время реплики, то имеет смысл заменить DESC на ASC. Если нет. Подумайте, по какому полю можно определить порядок. | |
|
|
|