Пишу такую штучку, как адрессную книгу. Имя и фамилия контакта - ссылка на страницу с более полными данными контакта. Вывожу по 10 контактов на страницу. Если выбираю контакт не на первой странице, выбрасывает опять на первую. Вторая проблема заключается в том, что использую две функции - list_records() и view_record(). Первая вывоит список контактов, вторая (ещё не дописал) действие, при кликании по имени контакта. При загрузке страницы, в адресе, userid равен первому значениюкоторое есть в БД. А я использую, для выбора функции PHP: if(empty($_GET['action'])){ $_GET['action'] = 'list_records'; } switch ($_GET['action']){ case "view_record": view_record(); break; default: list_records(); break; Проблема в листалке наверное. Но на всякий случай выложу всё, что относится к выводу информации. Ниже вылаживаю исходники. PHP: // administration.php <html> <head> <title>Administration</title> <link rel=stylesheet href="adress_book.css" type="text/css"> <style type="text/css"> </style> </head> <body> <!-- Область шапки --> <table width="100%" height="96"> <tr><td class="head"> </table> <table align="center"> Search: <input type ="TextArea" name="search"> <br><br> <button = "submit" Name="search_b" Value="Submit"> Search </button> </form> </table> <br><br> <table align="center"> <a href="./Add_new_record.php"> Add New Record </a> </table> <br> <!-- Вывод списка контактов--> <?php function list_records() { include ("connect_to_db.php"); include ("out_information.php"); } function view_record() { echo("<script>location.href='http://localhost/adress_book/detal_data.php'</script>"); } if(empty($_GET['action'])){ $_GET['action'] = 'list_records'; } switch ($_GET['action']){ case "view_record": view_record(); break; default: list_records(); break; } ?> </body> </html> Листалка с выводом инфы PHP: <?php //out_information.php $nums = 10; if (isset ($_GET['page']) ) { $page = intval($_GET['page']); } else { $page = 1; } $query = "SELECT COUNT(*) AS `counter` FROM `users`"; $sql = mysql_query($query) or die(mysql_error()); $row = mysql_fetch_assoc($sql); $elements = $row['counter']; $pages = ceil($elements/$nums); if ($page < 1) { $page = 1; } elseif ($page > $pages) { $page = $pages; } $start = ($page - 1) * $nums; // когда у нас в таблице нет записей if ($start < 0) $start = 0; $query = "SELECT * FROM `users` LIMIT {$start}, {$nums}"; $sql = mysql_query($query) or die (mysql_error()); //===================================================================================================== if($_SERVER['SCRIPT_FILENAME'] == "Z:/home/localhost/www/adress_book/index.php") { include("out_information_on_index.php"); } if($_SERVER['SCRIPT_FILENAME'] == "Z:/home/localhost/www/adress_book/administration.php") { include("out_information_on_administration.php"); } //====================================================================================================== print "</table>\n"; // далее нам надо прицепить листалку $neighbours = 6; $left_neighbour = $page - $neighbours; if ($left_neighbour < 1) { $left_neighbour = 1; } $right_neighbour = $page + $neighbours; if ($right_neighbour > $pages) { $right_neighbour = $pages; } for ($i=$left_neighbour; $i<=$right_neighbour; $i++) { if ($i != $page) { print ' <a href="?page=' . $i . '">' . $i . '</a> '; } else { // выбранная страница print ' <b>' . $i . '</b> '; } } PHP: <?php //out_information_on_administration.php print "<table align = 'center' border=1 >"; echo "<th> ID </th> <th> Name </th> <th> Country </th> <th> City </th> <th COLSPAN=2> Action </th> "; while ($line = mysql_fetch_array($sql)) { $userid = $line['id']; $username = $line['first_name'] . " " . $line['last_name']; $country = $line['country']; $city = $line['city']; echo "<tr>"; echo "<td> $userid </td>"; echo "<td><a href = '?action=view_record&userid=".$userid."'> ".$username." </a></td>"; echo "<td> $country </td>"; echo "<td> $city </td>"; echo "<td> [EDIT] </td>"; echo "<td> [DELETE] </td>"; echo "</tr>"; } ?>