За последние 24 часа нас посетили 64087 программистов и 1742 робота. Сейчас ищут 828 программистов ...

Помогите пожалуйста

Тема в разделе "PHP для новичков", создана пользователем Andrey5555, 19 фев 2008.

  1. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Есть код
    PHP:
    1.  
    2. <?php
    3. include ("mysql.php");
    4. if (isset($_GET['search']))
    5. $search = $_GET['search'];
    6. $search = htmlspecialchars ($search, ENT_QUOTES);
    7. $search = mysql_real_escape_string($search);
    8. $search = trim ($search);
    9. $s_section = $_GET ['section'];
    10. $s_section = htmlspecialchars ($s_section, ENT_QUOTES);
    11. $s_section = mysql_real_escape_string($s_section);
    12. $s_section = trim ($section);
    13. $s_section = (int)$s_section;
    14. if ($s_section != 1111)
    15. $query = mysql_query ("SELECT * FROM announcements WHERE section = '$s_section' and text LIKE '%$search%'");
    16. else
    17. $query = mysql_query ("SELECT * FROM announcements WHERE text LIKE '%$search%'");
    18. $allnum = mysql_num_rows ($query);
    19. if(!isset($_GET['page']))
    20. $page = 1;
    21. else
    22. $page = ($_GET['page']);
    23. $on_page = 10;
    24. $begin = ($page - 1) * $on_page;
    25. $num_pages = ceil ($allnum / $on_page);
    26. if ($s_section != 1111)
    27. $query1 = mysql_query ("SELECT * FROM announcements WHERE section = '$s_section' and text LIKE '%$search%' LIMIT $begin, $on_page");
    28. else
    29. $query1 = mysql_query ("SELECT * FROM announcements WHERE text LIKE '%$search%' LIMIT $begin, $on_page");
    30. while (list ($id, $section, $type, $text, $name, $email, $date) = mysql_fetch_array ($query1))
    31. {
    32. $query2 = mysql_query ("SELECT id, title FROM sections WHERE id = '$section'");
    33. list ($id1, $title) = mysql_fetch_array ($query2);
    34. echo "<table class='top_announcement'>";
    35. echo "<tr>";
    36. echo "<td>$title</td><td class='right_column_announcement'><div align='center'>$type</div></td>";
    37. echo "</tr>";
    38. echo "</table>";
    39. echo "<table class='center_announcement'>";
    40. echo "<tr>";
    41. echo "<td><div align='justify'>$text</td>";
    42. echo "</tr>";
    43. echo "</table>";
    44. echo "<table class='contact_announcement'>";
    45. echo "<tr>";
    46. echo "<td>$name</td><td class='right_column_announcement'><div align='center'><a href='mailto:$email' class='links'>$email</div></td>";
    47. echo "</tr>";
    48. echo "</table>";
    49. echo "<table class='bottom_announcement'>";
    50. echo "<tr>";
    51. echo "<td>$date</td><td class='right_column_announcement'><div align='right'></div></td>";
    52. echo "</tr>";
    53. echo "</table>";
    54. echo "<br>";
    55. }
    56. for($i=0;$i<$num_pages;$i++)
    57. {
    58. $pages = $i+1;
    59. echo "<a href=?page=$pages&section=$s_section&search=".urlencode($search).">$pages</a> ";
    60. }
    61. ?>

    Но в даном случае ничего не выводит. Если же его сделаь так
    PHP:
    1.  
    2. <?php
    3. include ("mysql.php");
    4. if (isset($_GET['search']))
    5. $search = $_GET['search'];
    6. $search = htmlspecialchars ($search, ENT_QUOTES);
    7. $search = mysql_real_escape_string($search);
    8. $search = trim ($search);
    9. $s_section = $_GET ['section'];
    10. $s_section = htmlspecialchars ($s_section, ENT_QUOTES);
    11. $s_section = mysql_real_escape_string($s_section);
    12. $s_section = trim ($section);
    13. $s_section = (int)$s_section;
    14. if ($s_section != 1111)
    15. $query = mysql_query ("SELECT * FROM announcements WHERE section = '$s_section' and text LIKE '%$search%'");
    16. else
    17. $query = mysql_query ("SELECT * FROM announcements WHERE text LIKE '%$search%'");
    18. $allnum = mysql_num_rows ($query);
    19. if(!isset($_GET['page']))
    20. $page = 1;
    21. else
    22. $page = ($_GET['page']);
    23. $on_page = 10;
    24. $begin = ($page - 1) * $on_page;
    25. $num_pages = ceil ($allnum / $on_page);
    26. $query1 = mysql_query ("SELECT * FROM announcements WHERE text LIKE '%$search%' LIMIT $begin, $on_page");
    27. while (list ($id, $section, $type, $text, $name, $email, $date) = mysql_fetch_array ($query1))
    28. {
    29. $query2 = mysql_query ("SELECT id, title FROM sections WHERE id = '$section'");
    30. list ($id1, $title) = mysql_fetch_array ($query2);
    31. echo "<table class='top_announcement'>";
    32. echo "<tr>";
    33. echo "<td>$title</td><td class='right_column_announcement'><div align='center'>$type</div></td>";
    34. echo "</tr>";
    35. echo "</table>";
    36. echo "<table class='center_announcement'>";
    37. echo "<tr>";
    38. echo "<td><div align='justify'>$text</td>";
    39. echo "</tr>";
    40. echo "</table>";
    41. echo "<table class='contact_announcement'>";
    42. echo "<tr>";
    43. echo "<td>$name</td><td class='right_column_announcement'><div align='center'><a href='mailto:$email' class='links'>$email</div></td>";
    44. echo "</tr>";
    45. echo "</table>";
    46. echo "<table class='bottom_announcement'>";
    47. echo "<tr>";
    48. echo "<td>$date</td><td class='right_column_announcement'><div align='right'></div></td>";
    49. echo "</tr>";
    50. echo "</table>";
    51. echo "<br>";
    52. }
    53. for($i=0;$i<$num_pages;$i++)
    54. {
    55. $pages = $i+1;
    56. echo "<a href=?page=$pages&section=$s_section&search=".urlencode($search).">$pages</a> ";
    57. }
    58. ?>
    То все выводит, только на страницы не разбиваеться. В чем проблема? Помогите пожалуйста
     
  2. RomanBush

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

    С нами с:
    5 дек 2007
    Сообщения:
    798
    Симпатии:
    0
    Адрес:
    200 км от Москвы
    Вставь перед этой строчкой вот это:
    PHP:
    1. <? echo "\$begin="".$begin."""; ?>
    И расскажи, что он выведет.
     
  3. Andrey5555

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

    С нами с:
    29 ноя 2007
    Сообщения:
    486
    Симпатии:
    0
    Адрес:
    Киев
    Спасибо за помощь, но пробема была не в этом.
    PHP:
    1.  
    2.  $s_section = mysql_real_escape_string($s_section);
    3.  $s_section = trim ($section);
    Я тут обрабатывал разные переменные))