За последние 24 часа нас посетили 56046 программистов и 1682 робота. Сейчас ищут 1093 программиста ...

Помогите с ошибками

Тема в разделе "PHP и базы данных", создана пользователем Intrerio, 20 мар 2015.

  1. Intrerio

    Intrerio Активный пользователь

    С нами с:
    20 мар 2015
    Сообщения:
    176
    Симпатии:
    7
    Здравствуйте. Уже около месяца занимаюсь разработкой веб-системы для учета договоров и финансов для страховых компаний. Уже довольно много написано и настало время подпилить ошибки. Стопорнулся в такой вот ошибке вывода.
    Есть код:
    Код (Text):
    1.  
    2. <?php
    3. session_start();
    4. include ($_SERVER["DOCUMENT_ROOT"]."config/include.php");
    5. if (isset($_SESSION['user'])) {
    6. $regionsel=mysql_query("SELECT region FROM `admin` WHERE login_admin='".$_SESSION['user']."'");
    7. $region = mysql_fetch_array($regionsel);
    8. $reg=$region['region'];
    9.  
    10. $agent=$_GET['id'];
    11. $status=$_GET['status'];
    12. $zvitnist=$_GET['zvitnist'];
    13.  
    14. $per_page=100;
    15.  
    16. // получаем номер страницы
    17. if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
    18. // вычисляем первый оператор для LIMIT
    19. $start=abs($page*$per_page);
    20. // составляем запрос и выводим записи
    21. // переменную $start используем, как нумератор записей.
    22. if (empty($status)){
    23. $d="SELECT * FROM `blanks` WHERE agent=$agent ORDER BY polisall ASC LIMIT $start,$per_page";
    24. }
    25. else{
    26. $d="SELECT * FROM `blanks` WHERE status=$status AND agent=$agent ORDER BY polisall ASC LIMIT $start,$per_page";
    27. }
    28. if($zvitnist=="1"){
    29. $d="SELECT * FROM `blanks` WHERE zvitnist=$zvitnist AND agent=$agent ORDER BY polisall ASC LIMIT $start,$per_page";
    30. }
    31.  
    32. $res=mysql_query($d);
    33.  
    34.  
    35. //чисті бланки//
    36. echo"
    37. <table border=\"1\" width=\"100%\" bgcolor=\"#FFFFE1\">
    38. <tr><td><b>Бланки</b></td></tr>
    39. <tr><td>Поліса</td><td>Дата отримання</td><td>Дата звіту</td>";
    40. while($row=mysql_fetch_array($res)) {
    41. echo "<tr>
    42. <td><a href='http://bd.agent.lviv.ua/admin/blanks/blank.php?id_polis=$row[polisall]'>$row[polisall]</a></td><td>$row[dataotr]</td><td>$row[datazvit]</td>
    43. </tr>";
    44. }
    45. echo "</table>";
    46.  
    47.  
    48. // дальше выводим ссылки на страницы:
    49. if (empty($status)){
    50. $q="SELECT count(*) FROM `blanks` WHERE agent=$agent";
    51. }
    52. else {
    53. $q="SELECT count(*) FROM `blanks` WHERE status=$status AND agent=$agent";
    54. }
    55. if ($zvitnist==1){
    56. $q="SELECT count(*) FROM `blanks` WHERE zvitnist=$zvitnist AND agent=$agent";
    57. }
    58.  
    59. $res=mysql_query($q);
    60. $row=mysql_fetch_row($res);
    61. $total_rows=$row[0];
    62.  
    63. $num_pages=ceil($total_rows/$per_page);
    64.  
    65. for($i=1;$i<=$num_pages;$i++) {
    66.   if ($i-1 == $page) {
    67.     echo $i." ";
    68.   } else {
    69.     echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'&status='.$status.'&id='.$agent.'&zvitnist='.$zvitnist.'">'.$i."</a> ";
    70.   }
    71. }
    72.  
    73. }else {
    74. echo"$autherror";}
    75. ?>
    В момент когда я захожу на даную страничку через браузер формируется таблица с информацией о договорах, дате получения договоров агентами и дате внесения договоров в отчетность. Сейчас выборка идет по 155 договорам. Каждый раз когда я захожу на страничку отображения,у меня вместо нужного количества отображаеться то 100 то 60 то 76 договоров и внезапно таблица обрывается
    [​IMG]
    Не могу понять в чем проблема. Бывает такое что страница вообще пустая. Данная проблема ранее наблюдалась в других разделах но после уменшения запросов в БД она пропала (хотя при входе с других ПК время от времени появляеться). Где моя ошибка? Может я формирую неправильный или тяжелый запрос?
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.815
    Симпатии:
    1.332
    Адрес:
    Лень
    на будущее - isset может показать ИСТИНУ даже при пустой сессии.
    Код (PHP):
    1. if ( !empty ( $_SESSION['user'] ) ) {