|
|
|
| Пользователь 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"?
Заранее благодарю за помощь. | |
|
|
|
|
|
|
|
для: Слава Троцак
(28.04.2008 в 19:40)
| | view4.php можно вообще не писать. если нет названия файла перед ?, то скрипт сам обратится к тому файлу, в котором он (скрипт) находится
$gal - это просто еще одна переменная, которая мне была нужна. ее можно убрать. | |
|
|
|
|
автор: [Atheist] (28.04.2008 в 21:31) |
|
|
для: elenaki
(28.04.2008 в 20:02)
| | > то скрипт сам обратится к тому файлу
Браузер | |
|
|
|
|
|
|
|
для: 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++;
}// конец вывода строки
}// конец вывода таблицы
}// конец вывода страницы
///
?>
|
| |
|
|
|
|
|
|
|
для: Слава Троцак
(29.04.2008 в 04:48)
| | можетбыть надо поменять
if (!isset($start1)) $start1=1;
|
на
$start1 = (isset($_GET['start1'])) ? intval($_GET['start1']): 1;
|
| |
|
|
|
|
|
|
|
для: sil
(29.04.2008 в 05:35)
| | Да-да-да, спасибо Sil! Это оно! Все заработало после замены фрагмента кода. Респект. | |
|
|
|