|
|
|
|
|
для: worker
(19.08.2005 в 14:10)
| | Тогда следует прибегнуть примерно к следующему коду
<?php
$arr = (1=>'1', 2=>'2', 3=>'3', 4=>'4', 5=>'5', 6=>'6', 7=>'7', 8=>'8', 9=>'9', 10=>'1', 11=>'2', 12=>'3', 13=>'4', 14=>'5', 15=>'6', 16=>'7', 17=>'8', 18=>'9');
// Извлекаем номер из дополнительной таблицы
// tbl - в начале там одна запись с цифрой 1
$query = "SELECT num FROM ext";
$ext = mysql_query($query);
if(!$ext) exit(mysql_error());
$num = mysql_result($ext,0);
// Формируем условие
$where = "WHERE id IN ("
for($i = $num; $i < $num + 4; $i++)
{
$index[] = $arr[$i];
if($i == $num + 3) $last = $arr[$i];
}
$where .= implode(",",$index).")";
unset($index);
// Формируем основной запрос
$query = "SELECT * FROM tbl $where";
$tbl = mysql_query($query);
if(!$tbl) exit(mysql_error());
while($result = mysql_fetch_array($tbl))
{
// ...
}
// Изменяем содержимое таблицы ext
$query = "UPDATE ext SET num = $last";
if(!mysql_query($query)) exit(mysql_error());
?>
|
| |
|
|
|
|
|
|
|
для: worker
(19.08.2005 в 14:10)
| | Ну что предложения есть ? | |
|
|
|
|
|
|
|
для: cheops
(18.08.2005 в 22:23)
| | Ага | |
|
|
|
|
|
|
|
для: worker
(18.08.2005 в 17:06)
| | Т.е. в таблице присутсвует отдельный столбец с номерами
| |
|
|
|
|
|
|
|
для: cheops
(18.08.2005 в 02:54)
| | В таблице строки вида:
1
2
3
4
5
6
7
8
9
А нам нужно, чтобы эти строки выдавались по 4-ре штуки. Тоесть 1 раз посетитель зашел на эту страницу и увидел 1234 строки, второй раз зашел и увидел 5678 а в третий раз зашел увидел 9123 ну и т.д.
А это:
1234 - первый запрос
5678 - второй запрос
9123 - третий запрос
4567 - четвертый запрос
8912 - пятый запрос
3456- шестой запрос
7891 - седьмой запрос
2345 - восьмой запрос
6789 - девятый запрос
<--Это я показал для того, чтобы было видно, что получается цикл, ведь после 6789 опять пойдет 1234. | |
|
|
|
|
|
|
|
для: worker
(17.08.2005 в 20:44)
| | Извиняюсь не посмотрел, что это ваш ник :))) Я имею ввиду имеются у вас в таблице поле с номерами
1
2
3
4
5
6
7
8
9
или только
1234 - первый запрос
5678 - второй запрос
9123 - третий запрос
4567 - четвертый запрос
8912 - пятый запрос
3456- шестой запрос
7891 - седьмой запрос
2345 - восьмой запрос
6789 - девятый запрос
Дело в том, что без нумерации по возрастанию достаточно сложно зациклить вывод. | |
|
|
|
|
|
|
|
для: worker
(17.08.2005 в 20:44)
| | Ну так что предложения имеются ? | |
|
|
|
|
|
|
|
для: cheops
(17.08.2005 в 13:05)
| | Не очень ясен Ваш вопрос, сформулируйте пожалусто поконкретней и кому вопрос ? | |
|
|
|
|
|
|
|
для: worker
(17.08.2005 в 09:37)
| | У вас имеется нумерация как пишет woker 1, 2, 3 ...? | |
|
|
|
|
|
|
|
для: Киналь
(17.08.2005 в 01:58)
| |
Видимо, запросы должны идти по кругу. Тогда надо каждый раз проверять, сколько записей осталось в таблице. Если меньше четырех - вернуться в начало и считать недостающее до 4х количество записей.
|
Верно, так и должно быть, точно в цель.
Вот с этим я и столкнулся. | |
|
|
|
|