Навигация на Mysql

1. Николай 16.11.2011 / 00:01
Привидите пример простой навигации на Mysql ..... (просто пробывал 2 примера не работают они)
таблица users имеет вид
id login mail pass

2. Николай 16.11.2011 / 13:38
помогите кто нить

3. Женек 16.11.2011 / 14:02
я не совсем понял что ты хочешь

4. Николай 16.11.2011 / 14:05
3. Basters, типа сделать навигацию

5. An0nimous 16.11.2011 / 14:10
<?
define('TOPAGE',10);
$page=(int)$_GET['page'];
   
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `users`"),0);
    
    $total = intval(($all - 1) / TOPAGE) + 1;
    
	if(empty($page) or $page < 0) $page = 1;
    
	if($page > $total) $page = $total;
    
	$start = $page * TOPAGE -TOPAGE;

	$g=mysql_query("SELECT * FROM `users`  LIMIT $start,".TOPAGE."");

//тут вывод содержимого
        if ($page != $total) $nextpage = ' <a href= users.php?page='. ($page + 1) .'>>></a>';
      if($page - 1 > 0) $pageback = '<a href= users.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> ';
?>
набросал на скорую руку,если костыль то больно не бейте))

6. Николай 16.11.2011 / 14:18
5. Nirvana, неа, не работает

7. An0nimous 16.11.2011 / 14:25
6. kold, да,точно.замини переменную $all на $q
т.е
$total = intval(($q- 1) / TOPAGE) + 1;

8. Николай 16.11.2011 / 14:28
7. Nirvana, пустая страница, ничего не выводит

9. An0nimous 16.11.2011 / 14:31
омг...
замени коментарий вывод содержимого на
while($peremennaya=mysql_fetct_array($g)){
echo'то что нужны вывести из таблицы';
}

10. Николай 16.11.2011 / 14:36
9. Nirvana, толку пустая страница

11. An0nimous 16.11.2011 / 14:48
кинь код страницы

12. ramzes 16.11.2011 / 15:06
Удалено. Ошибся

13. Николай 16.11.2011 / 15:06
11. Nirvana,
<?
include('connectdb.php');// подключение к серверу MySql и выбор БД

define('TOPAGE',10); 
$page=(int)$_GET['page']; 
    
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `users`"),0); 
     
   $total = intval(($q - 1) / TOPAGE) + 1; 
     
    if(empty($page) or $page < 0) $page = 1; 
     
    if($page > $total) $page = $total; 
     
    $start = $page * TOPAGE -TOPAGE; 

    $g=mysql_query("SELECT * FROM `users`  LIMIT $start,".TOPAGE.""); 

//тут вывод содержимого 
        if ($page != $total) $nextpage = ' <a href= users.php?page='. ($page + 1) .'>>></a>'; 
      if($page - 1 > 0) $pageback = '<a href= users.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> ';
	  
$sql = mysql_query("SELECT `login`,`id` FROM `users`");
while($row = mysql_fetch_assoc($sql))
{        
echo' <a href=/user/user.php?id='.$row['id'].'><strong>'.$row['login'].'</strong></a>';
}
?>


14. An0nimous 16.11.2011 / 15:13
kold (16 Ноября 2011 / 15:06)
11. Nirvana,
<?
include('connectdb.php');// подключение к серверу MySql и выбор БД

define('TOPAGE',10); 
$page=(int)$_GET['page']; 
    
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `users`"),0); 
     
   $total = intval(($q - 1) / TOPAGE) + 1; 
     
    if(empty($page) or $page < 0) $page = 1; 
     
    if($page > $total) $page = $total; 
     
    $start = $page * TOPAGE -TOPAGE; 

    $g=mysql_query("SELECT * FROM `users`  LIMIT $start,".TOPAGE.""); 

//тут вывод содержимого 
        if ($page != $total) $nextpage = ' <a href= users.php?page='. ($page + 1) .'>>></a>'; 
      if($page - 1 > 0) $pageback = '<a href= users.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> ';
	  
$sql = mysql_query("SELECT `login`,`id` FROM `users`");
while($row = mysql_fetch_assoc($sql))
{        
echo' <a href=/user/user.php?id='.$row['id'].'><strong>'.$row['login'].'</strong></a>';
}
?>
facepalm
<?
include('connectdb.php');// подключение к серверу MySql и выбор БД

define('TOPAGE',10); 
$page=(int)$_GET['page']; 
    
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `users`"),0); 
     
   $total = intval(($q - 1) / TOPAGE) + 1; 
     
    if(empty($page) or $page < 0) $page = 1; 
     
    if($page > $total) $page = $total; 
     
    $start = $page * TOPAGE -TOPAGE; 

    $g=mysql_query("SELECT * FROM `users`  LIMIT $start,".TOPAGE.""); 
while($row = mysql_fetch_assoc($q))
{        
echo' <a href=/user/user.php?id='.$row['id'].'><strong>'.$row['login'].'</strong></a>';
}

        if ($page != $total) $nextpage = ' <a href= users.php?page='. ($page + 1) .'>>></a>'; 
      if($page - 1 > 0) $pageback = '<a href= users.php?page='. ($page - 1) .'>'. ($page - 1) .'</a> ';

?>
правильный вариант.ты запрос сделал без лимита,и после навигационных ссылок

15. An0nimous 16.11.2011 / 15:14
и ссылки поменял бы на страницы.ужс,а ты еще и продавал скрипт ф.мененджера,пердставляю что там был за код

16. Николай 16.11.2011 / 15:25
14. An0nimous, страница пуста ........

17. An0nimous 16.11.2011 / 15:26
и в конце скрипта напиши echo "$nextpage $pageback";

18. Николай 16.11.2011 / 15:29
Увсе равно пустая страница

19. An0nimous 16.11.2011 / 15:31
как это может быть,если у меня в скрипте,с точно такой же навигацией работает?
вообщем я тебе в приват скину кусок кода со своего двига,там разберешься и где нужно поменяешь
в приват не влезает,тут напишу
<?
$page=(int)$_GET['page'];
   
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `book`"),0);
    
    $total = intval(($q - 1) / TOPAGE) + 1;
    
	if(empty($page) or $page < 0) $page = 1;
    
	if($page > $total) $page = $total;
    
	$start = $page * TOPAGE -TOPAGE;

	$g=mysql_query("SELECT * FROM `book` ORDER BY `date` LIMIT $start,".TOPAGE."");
while($u=mysql_fetch_array($g)){
 echo'<div class="news">'.avatar($u['login']).' '.nick($u['login']).'</div>';
 echo'<div class="menu"><center><small><b>'.$u['date'].'</b></small></center><br>'.$u['text'].'<hr>'.$u['ip'].'</div>';
 }
       if ($page != $total) $nextpage = ' <a href="?page='. ($page + 1) .'">>></a>';
      if($page - 1 > 0) $pageback = '<a href="?page='. ($page - 1) .'"><<<</a> ';
	  
echo''.$nextpage.' '.$pageback.'';
?>


20. Wapuns 16.11.2011 / 15:35
19. An0nimous, Молодец, помогаешь, по-больше таких бы людей...

21. Николай 16.11.2011 / 15:50
19. An0nimous,
<?
include('connectdb.php');// подключение к серверу MySql и выбор БД 

$page=(int)$_GET['page']; 
    
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `users`"),0); 
     
    $total = intval(($q - 1) / TOPAGE) + 1; 
     
    if(empty($page) or $page < 0) $page = 1; 
     
    if($page > $total) $page = $total; 
     
    $start = $page * TOPAGE -TOPAGE; 

    $g=mysql_query("SELECT * FROM `users` LIMIT $start,".TOPAGE."");  
while($row = mysql_fetch_assoc($q)) 
{         
echo' <a href=/user/user.php?id='.$row['id'].'><strong>'.$row['login'].'</strong></a>'; 
} 
       if ($page != $total) $nextpage = ' <a href="?page='. ($page + 1) .'">>></a>'; 
      if($page - 1 > 0) $pageback = '<a href="?page='. ($page - 1) .'"><<<</a> '; 
       
echo''.$nextpage.''.$pageback.''; 
?>
пустая страница все равно ><

22. An0nimous 16.11.2011 / 15:55
kold (16 Ноября 2011 / 15:50)
19. An0nimous,
<?
include('connectdb.php');// подключение к серверу MySql и выбор БД 

$page=(int)$_GET['page']; 
    
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `users`"),0); 
     
    $total = intval(($q - 1) / TOPAGE) + 1; 
     
    if(empty($page) or $page < 0) $page = 1; 
     
    if($page > $total) $page = $total; 
     
    $start = $page * TOPAGE -TOPAGE; 

    $g=mysql_query("SELECT * FROM `users` LIMIT $start,".TOPAGE."");  
while($row = mysql_fetch_assoc($g)) 
{         
echo' <a href=/user/user.php?id='.$row['id'].'><strong>'.$row['login'].'</strong></a>'; 
} 
       if ($page != $total) $nextpage = ' <a href="?page='. ($page + 1) .'">>></a>'; 
      if($page - 1 > 0) $pageback = '<a href="?page='. ($page - 1) .'"><<<</a> '; 
       
echo''.$nextpage.''.$pageback.''; 
?>
пустая страница все равно ><
ты while($row=mysql_fetch_array($q)) прописал а нужно было как я исправил smile
т.е $q-подсчет всех пользователей в бд,а $g-запрос на вывод пользователей из бд по лимиту smile надеюсь ты все понял)

23. Николай 16.11.2011 / 16:04
22. An0nimous,
<?
include('connectdb.php');// подключение к серверу MySql и выбор БД 

$page=(int)$_GET['page']; 
    
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `users`"),0); 
     
    $total = intval(($q - 1) / TOPAGE) + 1; 
     
    if(empty($page) or $page < 0) $page = 1; 
     
    if($page > $total) $page = $total; 
     
    $start = $page * TOPAGE -TOPAGE; 

    $g=mysql_query("SELECT * FROM `users` LIMIT $start,".TOPAGE.""); 
while($u=mysql_fetch_array($g)){ 
echo' <a href=/user/user.php?id='.$u['id'].'><strong>'.$u['login'].'</strong></a>';
 } 
       if ($page != $total) $nextpage = ' <a href="?page='. ($page + 1) .'">>></a>'; 
      if($page - 1 > 0) $pageback = '<a href="?page='. ($page - 1) .'"><<<</a> '; 
       
echo''.$nextpage.' '.$pageback.'';
?>
вроде так?
но почему то пустая страница...

24. An0nimous 16.11.2011 / 16:08
гг ты забыл задать константу )

25. Николай 16.11.2011 / 16:11
24. An0nimous, указал, все равно пустая страница

26. An0nimous 16.11.2011 / 16:13
как ты ее указал?

27. Николай 16.11.2011 / 16:14
26. An0nimous, как ты в самом начале указал

define('TOPAGE',10);


28. ICE 16.11.2011 / 16:16
23. kold, в верху создай константу define ('TOPAGE', 10); //Количество юзеров на странице

29. An0nimous 16.11.2011 / 16:17
а у тебя в таблице с юзерами есть хоть какие данные?

30. ICE 16.11.2011 / 16:18
Да дело в константе, у него её нету, сейчас всё будет нормально

31. Николай 16.11.2011 / 16:21
29. An0nimous, есть

32. An0nimous 16.11.2011 / 16:21
айс,да что ты говоришь,даже если есть константа но таблица пуста то ничего выводиться не будет

33. Николай 16.11.2011 / 16:22
`users`
id login mail pass
1 Admin 123@mail.ru 0000

34. Николай 17.11.2011 / 19:12
есть еще идеи??
а не все проблему решил...спасибо An0nimous'у

35. An0nimous 17.11.2011 / 19:28
kold (17 Ноября 2011 / 19:12)
есть еще идеи??
а не все проблему решил...спасибо An0nimous'у
Незачтоsmile

36. Николай 17.11.2011 / 19:34
35. An0nimous, оказываеться вчера база mysql тупила щас вроде все норм.... только в начале навигации пишет >> хоть указано Далее >>>

37. An0nimous 17.11.2011 / 19:39
непонял. еще раз код скинь,подскажу как поправить

38. Николай 17.11.2011 / 19:41
37. An0nimous,
include('user/connectdb.php');// подключение к серверу MySql и выбор БД  
define('TOPAGE',10);
$page=(int)$_GET['page'];  
     
   $q=mysql_result(mysql_query("SELECT COUNT(*) FROM `users`"),0);  
      
    $total = intval(($q - 1) / TOPAGE) + 1;  
      
    if(empty($page) or $page < 0) $page = 1;  
      
    if($page > $total) $page = $total;  
      
    $start = $page * TOPAGE -TOPAGE;  

    $g=mysql_query("SELECT * FROM `users` LIMIT $start,".TOPAGE."");  
while($u=mysql_fetch_array($g)){  
echo'<a href=/user/user.php?id='.$u['id'].'><strong>'.$u['login'].'</strong></a><br />'; 
 }  
       if ($page != $total) $nextpage = ' <a href="?page='. ($page + 1) .'"Далее >>></a>';  
      if($page - 1 > 0) $pageback = '<a href="?page='. ($page - 1) .'"><<< Назад</a> ';  
        
echo''.$nextpage.''.$pageback.''; 



39. An0nimous 17.11.2011 / 19:45
конечно не будет,ты перед далее не закрыл тег ссылкиsmile

40. Николай 17.11.2011 / 19:48
39. An0nimous, точно спасибо

URL: https://visavi.net/topics/26540