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

Форум PHP

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

 

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

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

тема: Постраничная навигация
 
 автор: ekstrom   (05.04.2010 в 01:28)   письмо автору
 
 

$num=3; 
$page=intval($_GET['page']); 
if ($page=='') {$page=1;} 
$posts=mysql_result(mysql_query("SELECT COUNT(*) FROM prikoli"),0); 
$total=intval(($posts - 1) / $num) + 1; 
if(empty($page) or $page < 0) $page = 1; 
if($page > $total) $page = $total; 
$start = $page * $num - $num; 
$res5=mysql_query("SELECT * FROM prikoli ORDER BY id DESC LIMIT $start, $num"); 
while($mess=mysql_fetch_array($res5)) 



        

$shir = "80"; 
$vis = "60"; 
$result = mysql_query("SELECT id,foto,size FROM prikoli");
$myrow = mysql_fetch_array($result);
echo "<div class=podtitle>Картинки:Приколы</div>";
do {
printf("<div class=kntent><img src ='%s' height='$shir' width='$vis'></img><br><a href='%s'>%s</a> [%s KB]<br>",$myrow["foto"],$myrow["foto"],$myrow["foto"],$myrow["size"]);
}
while($myrow = mysql_fetch_array($result));


if ($page != 1) $pervpage = '<a href="?page=1">'. ($page != 1) .'</a> 
<a href="?page='. ($page - 1) .'">&lt;</a> '; 
if ($page != $total) $nextpage = ' <a href="?page='. ($page + 1) .'">&gt;</a> 
<a href="?page=' .$total. '">&gt;&gt;</a>'; 
if($page - 2 > 0) $page2left = ' <a href="?page='. ($page - 2) .'">'. ($page - 2) .'</a> '; 
if($page - 1 > 0) $page1left = ' <a href="?page='. ($page - 1) .'">'. ($page - 1) .'</a> '; 
if($page + 2 <= $total) $page2right = ' <a href="?page='. ($page + 2) .'">'. ($page + 2) .'</a>'; 
if($page + 1 <= $total) $page1right = ' <a href="?page='. ($page + 1) .'">'. ($page + 1) .'</a>'; 
echo '<div class="razd">страницы: <small>'.$page2left.$page1left.'</small><b>('.$page.')</b><small>'.$page1right.$page2right.'</small></div>';



Страницы создает сколько положено,4 записи и 2 страницы.Но 4 записи скрипт вставляет и на 1 и на 2 страницу.

  Ответить  
 
 автор: Slo_Nik   (05.04.2010 в 11:38)   письмо автору
 
   для: ekstrom   (05.04.2010 в 01:28)
 

по моему Вы перестарались с запросами
уберите
<?php
echo "<div class=podtitle>Картинки:Приколы</div>"
do { 
printf("<div class=kntent><img src ='%s' height='$shir' width='$vis'></img><br><a href='%s'>%s</a> [%s KB]<br>",$myrow["foto"],$myrow["foto"],$myrow["foto"],$myrow["size"]); 

while(
$myrow mysql_fetch_array($result));
?>

используйте для вывода первый while();

  Ответить  
 
 автор: ekstrom   (05.04.2010 в 20:33)   письмо автору
 
   для: Slo_Nik   (05.04.2010 в 11:38)
 

$num=3; 
$page=intval($_GET['page']); 
if ($page=='') {$page=1;} 
$posts=mysql_result(mysql_query("SELECT COUNT(*) FROM prikoli"),0); 
$total=intval(($posts - 1) / $num) + 1; 
if(empty($page) or $page < 0) $page = 1; 
if($page > $total) $page = $total; 




        

$shir = "80"; //ширина
$vis = "60";  //высота
echo "<div class=podtitle>Картинки:Приколы</div>";
$start = $page * $num - $num; 
$res5=mysql_query("SELECT foto,size FROM prikoli ORDER BY id DESC LIMIT $start,$num");

do {
printf("<div class=kntent><img src ='%s' height='$shir' width='$vis'></img><br><a href='%s'>%s</a> [%s KB]<br>",$mess["foto"],$mess["foto"],$mess["foto"],$mess["size"]);
}
while($mess = mysql_fetch_array($res5));



вот подправил,как Вы говорили,но есть проблемка.он выводит перед тремя картинками,пустую картинку и все остальное тоже без текста.И еще,картинки выводятся как 4.jpg,3.jpg,2.jpg...Можно ли это переделать под 1.jpg,2.jpg...?

  Ответить  
 
 автор: Slo_Nik   (05.04.2010 в 21:05)   письмо автору
 
   для: ekstrom   (05.04.2010 в 20:33)
 

>но есть проблемка.он выводит перед тремя картинками,пустую
это потому, что используете do{...} while(); , уберите этот цикл, а используйте просто while(); о разнице между этими двумя циклами почитайте в руководстве. эта тема неоднократно поднималась здесь на форуме.

по поводу того, что картинки выводятся в обратном порядке так это потому, что Вы используете DESC в условии сортировки в запросе.

  Ответить  
Rambler's Top100
вверх

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