Автор Тема: Вопрос! Помогите пожалуйста!  (Прочитано 2543 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн -DieseLok-

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 178
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kyivstar.biz
Вопрос! Помогите пожалуйста!
« : 28 Ноября 2004, 15:44:28 »

<?
	
$connection mysql_connect("localhost""root""");
	
$db mysql_select_db ("dbase");
$curr_page=$_GET[\'page\'];
$po="6";
$limit=$_GET[\'page\'];
if ($curr_page==1) {$s=0;} else {$a=$limit-1;$s=$a*$po;}

	
$query = "SELECT * FROM songs WHERE date = \'2004-11-27\' ORDER BY si_id LIMIT $s,$po";
	
$result = mysql_query($query, $connection);
	
while ($rows = mysql_fetch_array($result))
{
echo"<a href=\\"$rows[so_link]\\">$rows[so_name]</a>
";
}
	

	
$query = "SELECT * FROM songs WHERE date = \'2004-11-27\'";
	
$result = mysql_query($query, $connection);
	
$posts=mysql_numrows($result);


$cpages=$posts/$po;

// Воспользовавшись поиском нашел пример, постраничьного вывода:

for ($i = 1; $i <= $cpages; $i++) 
   $pages[$i] = ($i == $curr_page) ? \'<b>\'.$i.\'</b>\' : \'<a href=\'.$_SERVER[\'PHP_SELF\'].\'?page=\'.$i.\'>\'.$i.\'</a>\'; 

echo \'Страницы: \'.join(\', \', $pages);
?>


Работать то оно работает, !НО! допустим у меня в базе таких записей 13, лимит у меня стоит 6, тоесть єто фактически выходит 3 стриницы (две поные и одна частичьно заполненая), а он вываливает в списке ссылок мне всего 2 страницы :( и это выходит что у меня 13,14 записи гуляют

Что делать???????? Помогите пожалуйста!

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Вопрос! Помогите пожалуйста!
« Ответ #1 : 28 Ноября 2004, 16:25:46 »
Судя по коду, у тебя неверно вычисляется кол-во страниц.
Подумай над строкой
 $cpages=$posts/$po;  
Сам подумай, чему будет равен $cpages при 13 ссылках.
И как будет работать цикл ниже
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн -DieseLok-

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 178
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kyivstar.biz
Вопрос! Помогите пожалуйста!
« Ответ #2 : 28 Ноября 2004, 17:24:15 »
ну а какже мне узнать количество страниц?
я вытаскиваю из базы количество записей и делю на нужное количество на страницу... правильно?
Будет ровно 2,2-ум
тоесть получаеться мне нужно округлить до 3-ох?

если я не ошибаюсь это делает round();???

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
Вопрос! Помогите пожалуйста!
« Ответ #3 : 28 Ноября 2004, 17:31:32 »
Цитировать
-DieseLok-:
если я не ошибаюсь это делает round();???

ошибаешься так как тебе нужно округление всегда в большую сторону
это делает [p]ceil[/p]
AS IS...

Оффлайн -DieseLok-

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 178
  • +0/-0
  • 0
    • Просмотр профиля
    • http://kyivstar.biz
Вопрос! Помогите пожалуйста!
« Ответ #4 : 28 Ноября 2004, 17:43:15 »
ДА! ДА! ДА!!!!!!!!!!! Спасибо! всё рулит! вот ниже исправления:

<? 
    
$connection mysql_connect("localhost""root"""); 
    
$db mysql_select_db ("dbase"); 
$curr_page=$_GET[\'page\']; 
$po="6"; 
$limit=$_GET[\'page\']; 
if ($curr_page==1) {$s=0;} else {$a=$limit-1;$s=$a*$po;} 

    $query = "SELECT * FROM songs WHERE date = \'2004-11-27\' ORDER BY si_id LIMIT $s,$po"; 
    $result = mysql_query($query, $connection); 
    while ($rows = mysql_fetch_array($result)) 

echo"<a href=\\"$rows[so_link]\\">$rows[so_name]</a>
"; 

     
    $query = "SELECT * FROM songs WHERE date = \'2004-11-27\'"; 
    $result = mysql_query($query, $connection); 
    $posts=mysql_numrows($result); 
[B]
$npages=ceil($posts/$po);
$cpages=$npages;
[/B]
// Воспользовавшись поиском нашел пример, постраничьного вывода: 

for ($i = 1; $i <= $cpages; $i++) 
   $pages[$i] = ($i == $curr_page) ? \'<b>\'.$i.\'</b>\' : \'<a href=\'.$_SERVER[\'PHP_SELF\'].\'?page=\'.$i.\'>\'.$i.\'</a>\'; 

echo \'Страницы: \'.join(\', \', $pages); 
?>

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28