URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 6709
[ Назад ]

Исходное сообщение
"php - вывод SQL запроса"

Отправлено Newlam , 27-Янв-10 02:10 
Здравствуйте.
Такое дело, пришлось столкнуться с php. Выводом данных на страницу. Сам код есть, но дело все в том что выводимые данные слишком длинные. И их нужно разбаить на страницы. Тоестьк примеру на одной странице 10 результатов.

Код использую вот такой:

<?php require("./include/config.php");

    $data = mysql_query("SELECT * FROM имя_таблицы WHERE `Member` = 3");
    echo "<center>";
    echo "<table border='1'>
    <tr>
    <th>Ник</th>
    <th>Статус</th>
    </tr>";
  while($row = mysql_fetch_array($data))
    {
    echo "<tr>";
    echo "<td>" . $row['Name'] . "</td>";
    echo "<td>" . $row['stat'] . "</td>";
    echo "</tr>";
    }
    echo "</table>";
        echo "</center>";

    mysql_close($connect);
?>

Хотелось бы в этот код добавить вывод постраничный. Но с сохранением структуры вывода.
Сам попробовал использовать аналогично одному примеру постраничного вывода с инета. Результат оказался не таким.


Содержание

Сообщения в этом обсуждении
"php - вывод SQL запроса"
Отправлено аноним , 27-Янв-10 07:10 
-   $data = mysql_query("SELECT * FROM имя_таблицы WHERE `Member` = 3");
+   $data = mysql_query("SELECT * FROM имя_таблицы WHERE `Member` = 3 LIMIT 10, 20");

"php - вывод SQL запроса"
Отправлено Newlam , 27-Янв-10 12:24 
Короче сделал вот таким образом.


<?php
    
     require("./iclude/config.php");
    $per_page = "10";
    $q="SELECT count(*) FROM таблица WHERE `Member` = 3";
    $res=mysql_query($q);
    $row=mysql_fetch_row($res);
    $total_rows=$row[0];
    $num_pages=ceil($total_rows/$per_page);

    // получаем номер страницы
    if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
    // вычисляем первый оператор для LIMIT
    $start=abs($page*$per_page);
    // составляем запрос и выводим записи
    // переменную $start используем, как нумератор записей.
    $q="SELECT * FROM `таблица` WHERE `Member` = 3 LIMIT $start,$per_page";
    $res=mysql_query($q);

    echo "<table border='1'>
    <tr>
    <th>Ник</th>
    <th>Статус</th>
    </tr>";
    while($row=mysql_fetch_array($res))
    {
    echo "<tr>";
    echo "<td>" . $row['Name'] . "</td>";
    echo "<td>" . $row['stats'] . "</td>";
    echo "</tr>";
    }
    echo "</table>";

    //-- переключение страниц.
    for($i=1;$i<=$num_pages;$i++) {
    if ($i-1 == $page) {
       echo $i." ";
    } else {
    echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'">'.$i."</a> ";
    }
   }
    
   mysql_close($connect);  
?>      

проблема заключается в том, что если использовать этот скрипт напрямую на странице к примеру index.php то он работает отлично. А у меня задача использовать его на странице, где данны скрипт вызывается через if (@$_GET['pid'] == "type1"){include "memtype/type.php";}

То есть есть страница showmembers.php , в ней код оформления страницы и т.д и инклуд на if (@$_GET['pid'] == "type1"){include "memtype/type.php";}. И ссылка htpp://домен/showmembers.php?pid=type1, ну и в итоге при переходе по ней в центре shoцmembers.php подгружается type.php с кодом указанным в начале поста. Но в такой конструкции данный код не работат естественно. Вот хотелось бы помощи в оптимизации кода под такую систему.