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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: И снова снова постраничная навигация
 
 автор: Слава Троцак   (28.04.2008 в 19:40)   письмо автору
 
 

Пользователь elenaki предложила такой код для постраничной навигации:
<?php 
include "config.php"

$show_cols 3// кол-во колонок 
$show_rows =2// кол-во строк 
if (!isset($start1)) $start1=1//если нач.страница не установлена, идем на первую  

 //определяем, сколько столбцов и где мы находимся 
$query =  ("SELECT * FROM #table order by pic_id ");//здесь можно только кол-во записей запрашивать 
$array=mysql_query($query);  
$num_rows mysql_num_rows($array); //всего строк в базе 
$cols=floor($num_rows/$show_cols); //всего кол-во столбцов 
$pages floor($num_rows/($show_cols*$show_rows));//кол-во страниц 
if ($num_rows $show_cols*$show_rows*$pages$pages++; //если строк в базе больше, чем помещается на одной странице, переходим на след. 
for ($ii=1$ii<=$pages$ii++) { //начинаем цикл перебора всех страниц 
$from1=$ii*$show_rows*$show_cols-($show_rows*$show_cols-1); // 
$to1=$ii*$show_rows*$show_cols//кол-во показ.страниц 
if ($to1 $num_rows$to1 $num_rows//если кол-во показ.страниц больше, чем строк в базе, делаем его равным 
if ($start1==$from1) echo "| <font style=\"font-face: Verdana, Arial, Helvetica, sans-serif; 
    color : #ff8c00; font-weight : bold; font-size: 12px;\">
$from1 - $to1</font>";  
else  
{echo 
" | <a href=\"view4.php?start1=$from1&gal=$gal\" style=\"font-face: Verdana, Arial, Helvetica, sans-serif; 
    color : #000000; font-weight : bold; font-size: 12px;\"> 
$from1 - $to1</a>";} 
         

?> 
</td></tr></table><br><br> 
<? 
/// вывод страницы 
if ($num_rows $pages*$show_cols*$show_rows$vid++;  
for (
$iii=0$iii<=$vid$iii++) {  

/// вывод таблицы 
if ($num_rows $show_rows$show_rows++;  
for (
$i=2$i<=$show_rows$i++) {  
$start1=$start1 1;  
$query "SELECT * FROM ecard_pics WHERE own = 'Y' and markdel = 'N' ORDER BY pic_id limit $start1,$show_cols"
$start1=$start1+$show_cols 1
$result mysql_query($query); 
$number mysql_num_rows($result); 
echo
"<table align=center border=\"0\"  cellpadding=5 cellspacing=2 >"
$j 0
    WHILE (
$j $number)// вывод строки 
     

     
$pic_name mysql_result($result,$j,"pic_name"); 
     echo
"<td align=center bgcolor=#ffffff valign=middle style=\"border-style: solid; border-color: #909090; border-width: 1px\"> 
     <img src=\"mic/"
.$pic_name."\" border=0></TD>"
     
$j++; 
     }
// конец вывода строки 
}// конец вывода таблицы 
}// конец вывода страницы 
///  
?> 
    
      



Но у меня возникли небольшие проблемы в {echo " | <a href=\"view4.php?start1=$from1&gal=$gal\" style=\"font-face: Verdana, Arial, Helvetica, sans-serif;
color : #000000; font-weight : bold; font-size: 12px;\"> $from1 - $to1</a>";}
:
допустим у меня 10 фоток: первые 6 выводит нормально, а остальные нажимаю на ссылку |7-10| дает ошибку:"view4.php не существует".
Пробовал менять view4.php на название своего файла member_ru.php, но все тогда при нажатии ссылки он опять показывал тоже самое.

Чтоя делаю не правильно?

что такое "gal", "$gal"?

Заранее благодарю за помощь.

   
 
 автор: elenaki   (28.04.2008 в 20:02)   письмо автору
 
   для: Слава Троцак   (28.04.2008 в 19:40)
 

view4.php можно вообще не писать. если нет названия файла перед ?, то скрипт сам обратится к тому файлу, в котором он (скрипт) находится
$gal - это просто еще одна переменная, которая мне была нужна. ее можно убрать.

   
 
 автор: [Atheist]   (28.04.2008 в 21:31)
 
   для: elenaki   (28.04.2008 в 20:02)
 

> то скрипт сам обратится к тому файлу
Браузер

   
 
 автор: Слава Троцак   (29.04.2008 в 04:48)   письмо автору
 
   для: elenaki   (28.04.2008 в 20:02)
 

В ум не возьму, что неправильно. Все исправил, но первые 6 фоток нормально показывает, но при нажатии на ссылку |7-10| показывает ту же страницу хотя там далее 4 фотки.
Прошу помощи!

<?php 

include ("../block/bd.php");


$show_cols 3// кол-во колонок 
$show_rows =2// кол-во строк 
if (!isset($start1)) $start1=1//если нач.страница не установлена, идем на первую  

 //определяем, сколько столбцов и где мы находимся 
$query =  ("SELECT * FROM brides_data order by id_bride");//здесь можно только кол-во записей запрашивать 
$array mysql_query($query);  
$num_rows mysql_num_rows($array); //всего строк в базе 
$cols=floor($num_rows/$show_cols); //всего кол-во столбцов 
$pages floor($num_rows/($show_cols*$show_rows));//кол-во страниц 
if ($num_rows $show_cols*$show_rows*$pages$pages++; //если строк в базе больше, чем помещается на одной странице, переходим на след. 
for ($ii=1$ii<=$pages$ii++) { //начинаем цикл перебора всех страниц 
$from1=$ii*$show_rows*$show_cols-($show_rows*$show_cols-1); // 
$to1=$ii*$show_rows*$show_cols//кол-во показ.страниц 
if ($to1 $num_rows$to1 $num_rows//если кол-во показ.страниц больше, чем строк в базе, делаем его равным 
if ($start1==$from1) echo "| <font style=\"font-face: Verdana, Arial, Helvetica, sans-serif; 
    color : #ff8c00; font-weight : bold; font-size: 12px;\">
$from1 - $to1</font>";  
else  
{echo 
" | <a href=\"?start1=$from1\" style=\"font-face: Verdana, Arial, Helvetica, sans-serif; 
    color : #000000; font-weight : bold; font-size: 12px;\"> 
$from1 - $to1</a>";} 
         

?> 
</td></tr></table><br><br> 
<? 
/// вывод страницы 
if ($num_rows $pages*$show_cols*$show_rows$vid++;  
for (
$iii=0$iii<=$vid$iii++) {  

/// вывод таблицы 
if ($num_rows $show_rows$show_rows++;  
for (
$i=2$i<=$show_rows$i++) {  
$start1=$start1 1;  
$query "SELECT img_url FROM brides_data ORDER BY id_bride limit $start1,$show_cols"
$start1=$start1+$show_cols 1
$result mysql_query($query); 
$number mysql_num_rows($result); 
echo
"<table align=center border=\"0\"  cellpadding=5 cellspacing=2 >"
$j 0
    WHILE (
$j $number)// вывод строки 
     

     
$pic_name mysql_result($result,$j,"img_url"); 
     echo
"<td align=center bgcolor=#ffffff valign=middle style=\"border-style: solid; border-color: #909090; border-width: 1px\"> 
      <A HREF=\"/ru_gi/private.php?id=
$pic_name\"><img src=\"/image/img_brides/".$pic_name."\" border=0></A></TD>"
     
$j++;

    }
// конец вывода строки 
}// конец вывода таблицы 
}// конец вывода страницы 
///  
?>

   
 
 автор: sil   (29.04.2008 в 05:35)   письмо автору
 
   для: Слава Троцак   (29.04.2008 в 04:48)
 

можетбыть надо поменять

if (!isset($start1)) $start1=1; 

на
$start1 = (isset($_GET['start1'])) ? intval($_GET['start1']): 1;

   
 
 автор: Слава Троцак   (29.04.2008 в 16:59)   письмо автору
 
   для: sil   (29.04.2008 в 05:35)
 

Да-да-да, спасибо Sil! Это оно! Все заработало после замены фрагмента кода. Респект.

   
Rambler's Top100
вверх

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