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

Форум MySQL

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

 

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

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

тема: Сложный постраничный ввывод

Сообщения:  [1-10]   [11-19] 

 
 автор: Clocker   (15.11.2005 в 22:21)   письмо автору
 
   для: cheops   (15.11.2005 в 21:58)
 

Просто поторопился с ответом. Все получилось. Спасибо за помощь.

Благодарю Cheops.

   
 
 автор: cheops   (15.11.2005 в 21:58)   письмо автору
 
   для: Clocker   (15.11.2005 в 21:33)
 

Ещё при вызове функции
<?php
list($all_lines$entry$page_for_query$page_for_query2,  $p_start) = DisplayRows($tbl$db$entry$page$p_records$cis);
?>

необходимо исправить список параметров...

   
 
 автор: Clocker   (15.11.2005 в 21:33)   письмо автору
 
   для: cheops   (15.11.2005 в 13:36)
 

Warning: Missing argument 6 for displayrows() in как раз на той линии, где вставил в параметры $cid.
Что я не так сделал?

   
 
 автор: cheops   (15.11.2005 в 13:36)   письмо автору
 
   для: Clocker   (15.11.2005 в 12:16)
 

Погодите, а почему у вас $cid в параметрах нет? В этом случае $cid всегда будет пустым и будет срабатывать второй запрос... Необходимо
<?php
function DisplayRows($tbl$db$entry$page$p_records)
?>

исправить на
<?php
function DisplayRows($tbl$db$entry$page$p_records$cid)
?>

   
 
 автор: Clocker   (15.11.2005 в 12:16)   письмо автору
 
   для: cheops   (15.11.2005 в 03:23)
 


function DisplayRows($tbl, $db, $entry, $page, $p_records)
    {
    if(!empty($cid)) 
    { 
        $db->query("SELECT * FROM $tbl WHERE published=1 AND cid = $cid"); 
    } 
    else 
        { 
        $db->query("SELECT * FROM $tbl WHERE published=1"); 
        } 
        
        $result = $db->FetchArray();

        $all_lines = $db->numRows($result);

        if (!isset($entry) or empty($page) or $entry<=0) $entry=1;
        else $entry=(int)$entry;

        $page_for_query = $entry-1;
        $page_for_query2 = $entry+1;

        $p_start = $page_for_query * $p_records;

        return array($all_lines, $entry, $page_for_query, $page_for_query2,  $p_start);
    }



Функция возвращает все элементы хранящииеся в таблице $tbl2

   
 
 автор: cheops   (15.11.2005 в 03:23)   письмо автору
 
   для: Clocker   (15.11.2005 в 01:18)
 

Т.е. функция DisplayRows() возвращает неправильное число позиций? Приведите её плиз как она сейчас выглядит, после того, как к ней прикручен новый параметр?

   
 
 автор: Clocker   (15.11.2005 в 01:18)   письмо автору
 
   для: cheops   (15.11.2005 в 00:26)
 


<?php 
  
echo $all_lines
?> 


Равно числу всех позиций в базе без учёта каталога

   
 
 автор: cheops   (15.11.2005 в 00:26)   письмо автору
 
   для: Clocker   (14.11.2005 в 20:57)
 

А число строк в проекте $all_lines - корректное или равно числу всех позиций в базе без учёта каталога? Попробуйте вывести
<?php
  
echo $all_lines;
?>

   
 
 автор: Clocker   (14.11.2005 в 20:57)   письмо автору
 
   для: cheops   (14.11.2005 в 14:16)
 

Учитывается
Хотя как понять "учитывается"? Если смысл в том, что $cid передается, то да

>>PS Длинные листинги лучше прикреплять в виде файла.
Хорошо, запомню.

   
 
 автор: cheops   (14.11.2005 в 14:16)   письмо автору
 
   для: Clocker   (14.11.2005 в 00:11)
 

Хм... так сейчас $cid учитывается функцией DisplayRows()?

PS Длинные листинги лучше прикреплять в виде файла.

   

Сообщения:  [1-10]   [11-19] 

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

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