За последние 24 часа нас посетили 20593 программиста и 1106 роботов. Сейчас ищут 333 программиста ...

ПОСТРАНИЧНЫЙ ВЫВОД ИЗ БАЗЫ (голову сломала)

Тема в разделе "PHP и базы данных", создана пользователем oksana, 28 мар 2012.

  1. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    искала в сети скрипт который будет выводить заметки по страницам,
    нашла самый простой, были ошибки по синтаксу, исправила все работает отлично,
    но проблема если страниц будет 100 она выводит все =(

    Код (Text):
    1.  
    2. function link_bar($page, $pages_count)
    3. {
    4.    for ($j = 1; $j <= $pages_count; $j++){
    5.    // Вывод ссылки
    6.    if ($j == $page) {
    7.    echo '<a style="color:#800000;" ><strong>'.$j.'</strong></a>';
    8.    }
    9.    else {
    10.    echo ' <a style="color:#000000;" href='.$_server['php_self'].'?page='.$j.'>'.$j.'</a>';
    11.    }
    12.    if ($j != $pages_count) echo ' ';
    13. }
    14. return true;
    15. } // Конец функции
    16.  
    17. // Подключение к базе данных
    18. $db = mysql_connect("localhost", "php", "12345") or die('error! Нет соединения с сервером!');
    19. mysql_select_db("test", $db) or die('error! Нет соединения с сервером!');
    20.  
    21. // Подготовка к постраничному выводу
    22. $perpage = 10; // Количество отображаемых данных из БД
    23.  
    24. if (empty($_GET['page']) || ($_GET['page'] <= 0)) {$page = 1;}
    25. else {
    26. $page = (int) $_GET['page'];} // Считывание текущей страницы
    27. }
    28. // Общее количество информации
    29. $count = mysql_num_rows(mysql_query('SELECT * FROM otziv ORDER BY id DESC'));
    30. $pages_count = ceil($count / $perpage); // Количество страниц
    31.  
    32. // Если номер страницы оказался больше количества страниц
    33. if ($page > $pages_count) $page = $pages_count;
    34. $start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
    35.  
    36. $result = mysql_query('SELECT * FROM otziv ORDER BY id DESC LIMIT '.$start_pos.', '.$perpage);
    37.  
    38. $row = mysql_fetch_array($result);
    39. if (mysql_num_rows($result) > 0){
    40. do{
    41. printf ("
    42. <table class='table' width='670' border='0'>
    43. <tr>
    44. <td class='class'>Имя пользователя: %s</td>
    45. </tr>
    46.  
    47. <tr>
    48. <td>%s</td>
    49. </tr>
    50. </table>
    51. <br>",$row["name"], $row["text"]);
    52. }
    53. while($row = mysql_fetch_array($result));
    54. }
    55. link_bar($page, $pages_count);
    Нашла другой скрипт который мне подходит, подправила и выводит 1 2 3 4 5 ... Последняя, но проблема ссылки не работают остаешься на той же странице =(

    Код (Text):
    1.  
    2. function link_bar($page, $count, $pages_count, $show_link)
    3. {// $show_link - это количество отображаемых ссылок
    4.  
    5.     if ($pages_count == 1) return false;
    6.  
    7.     $sperator = ' | '; // Разделитель ссылок
    8.  
    9.     // Для придания ссылкам стиля
    10.     $style = 'style="color: #808000; text-decoration: none;"';
    11.  
    12.     $begin = $page - intval($show_link / 2);
    13.     unset($show_dots); // На всякий случай :)
    14.  
    15.     // Если количество отображ. ссылок больше кол. страниц
    16.     if ($pages_count <= $show_link + 1) $show_dots = 'no';
    17.     // Вывод ссылки на первую страницу
    18.     if (($begin > 2) && ($pages_count - $show_link > 2)) {
    19.         echo '<a '.$style.' href='.$_server['php_self'].'?page=1> Первая </a> ';
    20.     }
    21.     for ($j = 0; $j <= $show_link; $j++) // Основный цикл вывода ссылок
    22.     {
    23.     $i = $begin + $j; // Номер ссылки
    24.     // Если страница рядом с началом, то увеличить цикл для того,
    25.     // чтобы количество ссылок было постоянным
    26.     if ($i < 1) continue;
    27.     // Подобное находится в верхнем цикле
    28.     if (!isset($show_dots) && $begin > 1) {
    29.     echo ' <a '.$style.' href='.$_server['php_self'].'?page='.($i-1).'><b>...</b></a> ';
    30.     $show_dots = "no";
    31.     }
    32.     // Номер ссылки перевалил за возможное количество страниц
    33.     if ($i > $pages_count) break;
    34.     if ($i == $page) {
    35.     echo ' <a '.$style.' ><b>'.$i.'</b></a> ';
    36.     } else {
    37.     echo ' <a '.$style.' href='.$_server['php_self'].'?page='.$i.'>'.$i.'</a> ';
    38.     }
    39.    
    40.     // Если номер ссылки не равен кол. страниц и это не последняя ссылка
    41.     if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
    42.    
    43.     // Вывод "..." в конце
    44.     if (($j == $show_link) && ($i < $pages_count)) {
    45.     echo ' <a '.$style.' href='.$_server['php_self'].'?page='.($i+1).'><b>...</b></a> ';
    46.     }
    47.     }
    48.     // Вывод ссылки на последнюю страницу
    49.     if ($begin + $show_link + 1 < $pages_count) {
    50.     echo ' <a '.$style.' href='.$_server['php_self'].'?page='.$pages_count.'> >| </a>';
    51.     }
    52.     return true;
    53. } // Конец функции
    54.  
    55. // Подключение к базе данных
    56. $db = mysql_connect("localhost", "php", "12345") or die('error! Нет соединения с сервером!');
    57. mysql_select_db("test", $db) or die('error! Нет соединения с сервером!');
    58.  
    59. // Подготовка к постраничному выводу
    60. $perpage = 10; // Количество отображаемых данных из БД
    61.  
    62. if (empty($_get['page']) || ($_get['page'] <= 0)) {
    63. $page = 1;
    64. } else {
    65. $page = (int) $_get['page']; // Считывание текущей страницы
    66. }
    67. // Общее количество информации
    68. $count = mysql_num_rows(mysql_query('SELECT * FROM otziv ORDER BY id DESC')) or die('error! Записей не найдено!');
    69. $pages_count = ceil($count / $perpage); // Количество страниц
    70.  
    71. // Если номер страницы оказался больше количества страниц
    72. if ($page > $pages_count) $page = $pages_count;
    73. $start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
    74.  
    75. // Вывод информации из базы данных
    76. $result = mysql_query('SELECT * FROM otziv LIMIT '.$start_pos.', '.$perpage) or die('error!');
    77.  
    78. $row = mysql_fetch_array($result);
    79. if (mysql_num_rows($result) > 0){
    80. do{
    81. printf ("
    82. <table class='table' width='670' border='0'>
    83. <tr>
    84. <td class='class'>Имя пользователя: %s</td>
    85. </tr>
    86.  
    87. <tr>
    88. <td>%s</div></td>
    89. </tr>
    90. </table>
    91. <br>",$row["name"], $row["text"]);
    92. }
    93. while($row = mysql_fetch_array($result));
    94. }
    95. // Вызов функции, для вывода ссылок на экран
    96. link_bar($page, $count, $pages_count, 10);
     
  2. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
  3. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Кстати, $_server['php_self'] пишется БОЛЬШИМИ буквами
     
  4. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    но первый код тоже написан маленькими буквами, вроде работает
     
  5. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Должны быть большими.
    Я даже ссылку привел
     
  6. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    исправила на $_SERVER['PHP_SELF'] так же стоит на первой странице не осуществляет переход на другие страницы =(
     
  7. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Что то запускать этот скрипт не хочется...
    И откуда ты берешь эти скрипты...

    Лучше скажи какие ссылки получились, все одинаковые?
    Пример если можно
     
  8. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    в google ищу
    первый скрипт отлично работает ( 1.2.3.4.5.6.7.8.9.10.11.12.13.14.15 ) и все отлично работает
    второй скрипт как я и хотела ( 1.2.3.4.5...15 ) но ссылки не рабочие нажимаешь на любую остаешься на первой =(

    Добавлено спустя 4 минуты 52 секунды:
    и еще во втором скрипте в адресной строке page меняется на номер ссылки но содержимое первой страницы
     
  9. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    $_get (а также $_post, $_request) - тоже всё БОЛЬШИМИ. А вот page внутри (в данном случае) - маленькими
     
  10. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    спасибо большое sobachnik и вам smitt не понятно почему в первом тоже маленькими написаны но работают,

    еще слышала что взломщики могут в page запрос отправить, как лучше защититься?
     
  11. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    $_GET в первом примере написан большими - потому и работает. $_SERVER['PHP_SELF'] - маленькими, но оно и в первом примере не подставляет в ссылку того, что задумано. Просто ссылки всё равно работают, даже если название скрипта будет пропущено.

    Номер страницы - я обычно привожу к целому типу.
    Код (PHP):
    1. $page = isset($_GET['page']) ? (int) $_GET['page'] : 1; 
     
  12. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    спасибо буду пользоваться вашим советом =)
     
  13. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    ну это просто кошмар!!!!!!!!!!!!

    снова я =)

    убила два дня но вместе с поиском скрипт у меня не работает шас расскажу

    есть таблица с полями id, name, name2, phone

    для примера сделала простенькую страничку

    <?
    $db = mysql_connect("localhost", "php", "12345");
    mysql_select_db("www", $db);
    include("../test/f_index.php");
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Документ без названия</title>
    </head>

    <body>
    <a href="add.php">добавить</a>

    <form action="poisc.php" method="post">
    поиск по телефону<select name="phone">
    <option>nokia</option>
    <option>iphone</option>
    <option>samsung</option>
    </select>
    <input type="submit" value="выбрать">
    </form><br>
    <?
    echo $count; // количество записей
    $res = mysql_query('SELECT * FROM tes ORDER BY id DESC LIMIT '.$start_pos.', '.$perpage);
    while($mas = mysql_fetch_array($res)){
    echo '<p>'.$mas["name"].' '.$mas["name2"].' '.$mas["phone"].'</p>';
    echo "<hr />";
    }
    link_page($page, $count, $pages_count, 7);
    ?>
    </body>
    </html>


    а вот и сама функция include("../test/f_index.php"); все работает отлично
    Код (Text):
    1. <?
    2. function link_page($page, $count, $pages_count, $show_link){
    3.  
    4. // $show_link - это количество отображаемых ссылок;
    5. if ($pages_count == 1) {return false;};
    6.     $sperator = '<strong>|</strong>';
    7.     $style = 'style="color: #800000; text-decoration: none;"';
    8.     $begin = $page - intval($show_link / 2);
    9.     unset($show_dots); // На всякий случай :)
    10.  
    11. // Если количество отображ. ссылок больше кол. страниц
    12.     if ($pages_count <= $show_link + 1) {$show_dots = "no";};
    13. // Вывод ссылки на первую страницу
    14.     if (($begin > 2) && ($pages_count - $show_link > 2)) {
    15.     echo '<a style="color: #000000; text-decoration:none; font-size:12px;" href='.$_SERVER['PHP_SELF'].'?page=1>1</a> ';
    16.     }
    17. // Основный цикл вывода ссылок
    18.     for ($j = 0; $j <= $show_link; $j++)
    19.     {
    20.     $i = $begin + $j; // Номер ссылки
    21.  
    22. // Если страница рядом с началом, то увеличить цикл для того, чтобы количество ссылок было постоянным
    23.     if ($i < 1) continue;
    24. // Подобное находится в верхнем цикле
    25.     if (!isset($show_dots) && $begin > 1) {
    26.     echo '<a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.($i-1).'><b>...</b></a> ';
    27.     $show_dots = "no";
    28.     }
    29. // Номер ссылки перевалил за возможное количество страниц
    30.     if ($i > $pages_count) {break;};
    31.     if ($i == $page) {
    32.     echo ' <a style="color: #800000; text-decoration:none;" href='.$_SERVER['PHP_SELF'].'?page='.$i.'><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$i.'</strong></b></a> ';
    33.     }
    34.     else {
    35.     echo ' <a style="color: #000000; text-decoration:none;" href='.$_SERVER['PHP_SELF'].'?page='.$i.'><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$i.'</strong></a> ';
    36.     }
    37. // Если номер ссылки не равен кол. страниц и это не последняя ссылка
    38.     if (($i != $pages_count) && ($j != $show_link)) {echo $sperator;};
    39. // Вывод "..." в конце
    40.     if (($j == $show_link) && ($i < $pages_count)) {
    41.     echo ' <a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.($i+1).'><b>...</b></a> ';
    42.     }
    43.     }
    44. // Вывод ссылки на последнюю страницу
    45.     if ($begin + $show_link + 1 < $pages_count) {
    46.     echo ' <a style="color: #000000; text-decoration:none; font-size:12px;" href='.$_SERVER['PHP_SELF'].'?page='.$pages_count.'><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$pages_count.'</strong></a>';
    47.     }
    48.     return true;
    49. } // Конец функции
    50.  
    51. // Подготовка к постраничному выводу
    52. $perpage = 3; // Количество отображаемых данных из БД
    53. if (empty($_GET['page']) || ($_GET['page'] <= 0)) {
    54. $page = 1;
    55. } else {
    56. $page = (int) $_GET['page']; // Считывание текущей страницы
    57. }
    58. // Общее количество информации
    59. $count = mysql_num_rows(mysql_query("SELECT * FROM tes"));
    60. $pages_count = ceil($count / $perpage); // Количество страниц
    61. // Если номер страницы оказался больше количества страниц
    62. if ($page > $pages_count) $page = $pages_count;
    63. $start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
    64. ?>
    а вот и poisc.php

    <?
    $db = mysql_connect("localhost", "php", "12345");
    mysql_select_db("www", $db);
    $one = $_POST["phone"];
    include("../test/f_poisc.php");
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Документ без названия</title>
    </head>

    <body>
    <a href="add.php">добавить</a>
    <form action="poisc.php" method="post">
    поиск по телефону
    <select name="phone">
    <option>nokia</option>
    <option>iphone</option>
    <option>samsung</option>
    </select>
    <input type="submit" value="выбрать">
    </form><br>
    <?
    echo $count; // количество записей показывает сколько нужно, но переход на страницу не работает
    $res = mysql_query("SELECT * FROM tes WHERE tel = '$one' ORDER BY id DESC LIMIT ".$start_pos.", ".$perpage);
    while($mas = mysql_fetch_array($res)){
    echo '<p>'.$mas["name"].' '.$mas["name2"].' '.$mas["phone"].'</p>';
    echo "<hr />";
    }
    link_page($page, $count, $pages_count, 7);
    ?>
    </body>
    </html>

    а вот include("../test/f_poisc.php");
    Код (Text):
    1. <?
    2. function link_page($page, $count, $pages_count, $show_link){
    3.  
    4. // $show_link - это количество отображаемых ссылок;
    5. if ($pages_count == 1) {return false;};
    6.     $sperator = '<strong>|</strong>';
    7.     $style = 'style="color: #800000; text-decoration: none;"';
    8.     $begin = $page - intval($show_link / 2);
    9.     unset($show_dots); // На всякий случай :)
    10.  
    11. // Если количество отображ. ссылок больше кол. страниц
    12.     if ($pages_count <= $show_link + 1) {$show_dots = "no";};
    13. // Вывод ссылки на первую страницу
    14.     if (($begin > 2) && ($pages_count - $show_link > 2)) {
    15.     echo '<a style="color: #000000; text-decoration:none; font-size:12px;" href='.$_SERVER['PHP_SELF'].'?page=1>1</a> ';
    16.     }
    17. // Основный цикл вывода ссылок
    18.     for ($j = 0; $j <= $show_link; $j++)
    19.     {
    20.     $i = $begin + $j; // Номер ссылки
    21.  
    22. // Если страница рядом с началом, то увеличить цикл для того, чтобы количество ссылок было постоянным
    23.     if ($i < 1) continue;
    24. // Подобное находится в верхнем цикле
    25.     if (!isset($show_dots) && $begin > 1) {
    26.     echo '<a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.($i-1).'><b>...</b></a> ';
    27.     $show_dots = "no";
    28.     }
    29. // Номер ссылки перевалил за возможное количество страниц
    30.     if ($i > $pages_count) {break;};
    31.     if ($i == $page) {
    32.     echo ' <a style="color: #800000; text-decoration:none;" href='.$_SERVER['PHP_SELF'].'?page='.$i.'><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$i.'</strong></b></a> ';
    33.     }
    34.     else {
    35.     echo ' <a style="color: #000000; text-decoration:none;" href='.$_SERVER['PHP_SELF'].'?page='.$i.'><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$i.'</strong></a> ';
    36.     }
    37. // Если номер ссылки не равен кол. страниц и это не последняя ссылка
    38.     if (($i != $pages_count) && ($j != $show_link)) {echo $sperator;};
    39. // Вывод "..." в конце
    40.     if (($j == $show_link) && ($i < $pages_count)) {
    41.     echo ' <a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.($i+1).'><b>...</b></a> ';
    42.     }
    43.     }
    44. // Вывод ссылки на последнюю страницу
    45.     if ($begin + $show_link + 1 < $pages_count) {
    46.     echo ' <a style="color: #000000; text-decoration:none; font-size:12px;" href='.$_SERVER['PHP_SELF'].'?page='.$pages_count.'><strong style="font-family:Verdana, Geneva, sans-serif; font-size:12px;">'.$pages_count.'</strong></a>';
    47.     }
    48.     return true;
    49. } // Конец функции
    50.  
    51. // Подготовка к постраничному выводу
    52. $perpage = 3; // Количество отображаемых данных из БД
    53. if (empty($_GET['page']) || ($_GET['page'] <= 0)) {
    54. $page = 1;
    55. } else {
    56. $page = (int) $_GET['page']; // Считывание текущей страницы
    57. }
    58. // Общее количество информации
    59. $count = mysql_num_rows(mysql_query("SELECT * FROM tes WHERE tel = '$one'"));
    60. $pages_count = ceil($count / $perpage); // Количество страниц
    61. // Если номер страницы оказался больше количества страниц
    62. if ($page > $pages_count) $page = $pages_count;
    63. $start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
    64. ?>
    разница между 1 и 2 функцией
    1.$count = mysql_num_rows(mysql_query("SELECT * FROM tes"));
    2.$count = mysql_num_rows(mysql_query("SELECT * FROM tes WHERE phone = '$one'"));

    Так вот захожу на страницу все работает 1.2.3 и ссылки работают, делаю поиск тоже выводит нормально 1.2.3 какой бы телефон не выбрала, но нажимаешь на ссылку 2 или 3 выдает

    Предупреждение : mysql_fetch_array (): поставляется аргумент не является допустимым результатом MySQL ресурс в Z: \ главная \ локальный \ WWW \ Test \ poisc.php на линии 28

    26. echo $count; // количество записей
    27. $res = mysql_query("SELECT * FROM tes WHERE tel = '$one' ORDER BY id DESC LIMIT ".$start_pos.", ".$perpage);
    28. while($mas = mysql_fetch_array($res)){
    29. echo '<p>'.$mas["name"].' '.$mas["sir"].' '.$mas["tel"].'</p>';
    30. echo "<hr />";
    31. }
    32. link_page($page, $count, $pages_count, 7);

    Добавлено спустя 2 минуты 38 секунд:
    не пойму в чем дело ???????????????
     
  14. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    я смотрю вы на экранирование забили большой такой болт =)

    по существу: в ошибке сказано, что в функцию потрошение ответа БД передается не ответ БД, а какая-то херня которую он не понимает. Из чего следует вывод, что ответ от БД содержит не то, что вы ждете. Скорее всего, в запросе ошибка, либо он выполняется как-то не так. Сервер БД вам об этом пытается доложить, а вы не задумываясь засовываете его доклад в потрошилку, а она уже ругается.

    Нужно выкорчевать запрос в тот момент когда он уходит на сервак, просто выведя его через echo. Потом вставить в pma и посмотреть что тот выдаст.
     
  15. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    через echo link_page($page, $count, $pages_count, 7); выдает 1.2.3.1 и 1 в конце даже не ссылка

    а можно поподробнее про рма, как ее сделать? ПОПОВ =) не учил таким вещам
     
  16. smitt

    smitt Старожил

    С нами с:
    3 янв 2012
    Сообщения:
    3.166
    Симпатии:
    65
    Прикольно :)

    Я думаю Попов сам не сможет...

    Ее делать не надо, под рма говорилось о phpmyadmin , ну а требуется выполнить sql напрямую в базе без использования php
     
  17. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    ой а как делать sql без php =) в моем примере когда еще в запросе появляется $one?
    пожалуйста помогите я уже какой день не сплю =(
     
  18. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
  19. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    я всегда советую взять хостинг за 10-100 рублей и обрести покой.
    там и пма настроен, и логи на виду.

    перед или после строки
    27. $res = mysql_query("SELECT * FROM tes WHERE tel = '$one' ORDER BY id DESC LIMIT ".$start_pos.", ".$perpage);
    нужно просто поставить ченить типа
    echo "ЗАПРОС: [SELECT * FROM tes WHERE tel = '$one' ORDER BY id DESC LIMIT ".$start_pos.", ".$perpage.']';

    и тогда прямо на странице увидишь свой запрос. может сразу ошибку заметишь. если нет - в пма его =)
    может там нет ошибки. может там ноль строк в результате выборки. всяко бывает.
     
  20. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    я тоже об этом думала, а какой посоветуете где пма как в denwer?
     
  21. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    так у вас есть досткп к вашему пма? зайдв бд и там в закладочке sql впишите свой запрос. посмотрим, что он скажет.

    а хостинг любой вам подойдет
     
  22. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    у меня SELECT * FROM tes WHERE tel = '$one' ORDER BY id DESC LIMIT ".$start_pos.", ".$perpage вот такой запрос на странице

    там ввела SELECT * FROM `tes` WHERE `tel` = `$one` может с ковычками ошибка пишет что и следовало ожидать незнает $one

    Добавлено спустя 6 минут 55 секунд:
    может дадите ссылку на скрипт чтоб было 1.2.3.4.5...20 и после 1...8.9.10.11...20 что то вроде этого

    Добавлено спустя 13 минут 11 секунд:
    еще вставила echo "ЗАПРОС: [SELECT * FROM tes WHERE tel = '$one' ORDER BY id DESC LIMIT ".$start_pos.", ".$perpage.']';
    выдает
    ЗАПРОС: ['SELECT * FROM tes WHERE tel = 'nokia' ORDER BY id DESC LIMIT 0, 3'] все правильно
    но почему??????????????????????? когда нажимаещь в той же странице poisc на другие страницы выдает ошибку

    и еще перед циклом писала echo $count; // количество выбранных записей
    выбирала нокиу показывала 10 правильно, iphone показывала 5 тоже правильно но переходишь на другую страницу показывает 0, будто съела их
     
  23. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    вам надо учиться дебагать - ошибки искать.
    засуньте запрос в пма
     
  24. denisKa

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

    С нами с:
    4 сен 2007
    Сообщения:
    46
    Симпатии:
    0
    Этот же самый запрос выполняется на других страницах?
     
  25. oksana

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

    С нами с:
    16 мар 2012
    Сообщения:
    221
    Симпатии:
    0
    igordata я вставляла запрос в пма, ошибки нет все правильно, может проблема что скрипт не расчитан на то что ей придет $_POST['phone']

    deniska шас в кратце опишу ошибку

    есть таблица
    name , phone
    сергей nokia
    сережа nokia
    серг nokia
    серега nokia
    сергей nokia
    сергей nokia
    сергей nokia
    андрей iphone
    андр iphone
    андре iphone
    анд iphone
    андрей iphone
    виктор samsung
    вика samsung
    виктsamsung
    виктоsamsung
    виктор samsung
    виктор samsung

    в скрипте указала чтоб на стр. выводили две записи а потом переход страниц
    захожу на первую страницу

    index.php
    выберите телефон для быстрого поиска (здесь select с телефонами) поиск

    всего записей:18 //правильно показывает

    сергей nokia
    сережа nokia
    1.2.3.4.5
    вот страница все работает нажимаешь на 2 или 3 переходит и показывает следущие записи тоже работает

    если в select выбираю к примеру samsung то вот стр. poisc.php

    всего записей:6 //правильно показывает
    выберите телефон для быстрого поиска (здесь select с телефонами) поиск

    виктор samsung
    вика samsung
    1.2.3
    перехожу на любую стр. получается вот такая стр.

    всего записей:0 //неправильно показывает, куда делись остальные записи?
    выберите телефон для быстрого поиска (здесь select с телефонами) поиск

    Предупреждение : mysql_fetch_array (): поставляется аргумент не является допустимым результатом MySQL ресурс в Z: \ главная \ локальный \ WWW \ Test \ poisc.php на линии 28
    1.2.3

    ну а почему эта дура тогда выводила первую страницу, почему на первой ошибку не выдовала, вот главный запрос?
    кто нибудь посмотрите скрипт может там че то не так =(