Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вывод данных из базы по 4 штуки

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: cheops   (19.08.2005 в 22:57)   письмо автору
 
   для: 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 в 18:01)   письмо автору
 
   для: worker   (19.08.2005 в 14:10)
 

Ну что предложения есть ?

   
 
 автор: worker   (19.08.2005 в 14:10)   письмо автору
 
   для: cheops   (18.08.2005 в 22:23)
 

Ага

   
 
 автор: cheops   (18.08.2005 в 22:23)   письмо автору
 
   для: worker   (18.08.2005 в 17:06)
 

Т.е. в таблице присутсвует отдельный столбец с номерами
1
2
3
4
5
6
7
8
9

   
 
 автор: 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.

   
 
 автор: cheops   (18.08.2005 в 02:54)   письмо автору
 
   для: 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 в 23:19)   письмо автору
 
   для: worker   (17.08.2005 в 20:44)
 

Ну так что предложения имеются ?

   
 
 автор: worker   (17.08.2005 в 20:44)   письмо автору
 
   для: cheops   (17.08.2005 в 13:05)
 

Не очень ясен Ваш вопрос, сформулируйте пожалусто поконкретней и кому вопрос ?

   
 
 автор: cheops   (17.08.2005 в 13:05)   письмо автору
 
   для: worker   (17.08.2005 в 09:37)
 

У вас имеется нумерация как пишет woker 1, 2, 3 ...?

   
 
 автор: worker   (17.08.2005 в 09:37)   письмо автору
 
   для: Киналь   (17.08.2005 в 01:58)
 


Видимо, запросы должны идти по кругу. Тогда надо каждый раз проверять, сколько записей осталось в таблице. Если меньше четырех - вернуться в начало и считать недостающее до 4х количество записей.

Верно, так и должно быть, точно в цель.
Вот с этим я и столкнулся.

   

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования