Вывод данных с БД PHP

Discussion in 'PHP' started by DVMade, 10 Nov 2010.

  1. DVMade

    DVMade Banned

    Joined:
    23 Jul 2010
    Messages:
    110
    Likes Received:
    3
    Reputations:
    0
    Я вывожу данные с БД вспомощью цикла, но цикл выводит бесконечно, пока не выведет все данные с БД (в моем примере это новости). Как сделать что бы на первой странице вывелось первые 10 новостей, на другой еще 10 и т.д., а не сразу все в один столбик. Спасибо
     
  2. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Для мускуля юзайте LIMIT, если Postgres - комбинацию LIMIT...OFFSET
     
  3. Фараон

    Фараон коКотэ Of Antichat

    Joined:
    7 Nov 2010
    Messages:
    153
    Likes Received:
    105
    Reputations:
    83
    Прочитайте это .
     
  4. h00lyshit!

    h00lyshit! [From Nobody To Root]

    Joined:
    10 Sep 2009
    Messages:
    289
    Likes Received:
    290
    Reputations:
    195
    PHP:
    <?php  
    $per_page
    =10;  
    if (isset(
    $_GET['page'])) $page=($_GET['page']-1); else $page=0;  
    $start=abs($page*$per_page);  
    $q="SELECT * FROM `table` ORDER BY field LIMIT $start,$per_page";  
    $res=mysql_query($q);  
    while(
    $row=mysql_fetch_array($res)) {  
      echo ++
    $start.". ".$row['field']."<br>\n";  
    }  

    $q="SELECT count(*) FROM `table`";  
    $res=mysql_query($q);  
    $row=mysql_fetch_row($res);  
    $total_rows=$row[0];  

    $num_pages=ceil($total_rows/$per_page);  

    for(
    $i=1;$i<=$num_pages;$i++) {  
      if (
    $i-== $page) {  
        echo 
    $i." ";  
      } else {  
        echo 
    '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i."</a> ";  
      }  
    }  
    ?>
     
    1 person likes this.