Степан
25.06.2009 - 15:57
Прошу помощи в решении следующей проблемы. Проблема произошла при создании постраничного навигатора. На странице выводятся картинки 9 штук в 3 ряда
PHP |
<?php $td = 1; do { if ($td == 1) { echo "<tr>"; } ?> <th width="200" scope="row"><p class="style5"><a href="Picture.php?name=<?php echo $row_name['id']; ?> &id=<?php echo $row_pictures['id']; ?> "><img src="<?php echo $row_pictures['fullname']; ?>" border="0" /></a></p> <p class="style5"><?php echo $row_pictures['title']; ?></p> <p class="style5"> <?php if (((isset($_SESSION['MM_Username'])) && (isAuthorized("", "a,m", $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) { ?> </p> <p class="style5"><a href="deletePic.php?name=<?php echo $row_name['id']; ?> &id=<?php echo $row_pictures['id']; ?>">удалить</a></p> <?php } $td++; if ($td == 4) { echo "</tr>"; $td = 1; } } while ($row_pictures = mysql_fetch_assoc($pictures)); ?> |
Код подключения к базе и создания переменных для постраничного навигатора:
PHP |
$maxRows_pictures = 9; $page = 1;
if (isset($_GET['page'])) { $page = $_GET['page']; } $startRow_pictures = $page * $maxRows_pictures;
$colname_pictures = "-1"; if (isset($_GET['name'])) { $colname_pictures = (get_magic_quotes_gpc()) ? $_GET['name'] : addslashes($_GET['name']); } mysql_select_db($database_Guest, $Guest); $query_pictures = sprintf("SELECT * FROM painting WHERE nameid = %s ORDER BY title ASC", $colname_pictures); $query_limit_pictures = sprintf("%s LIMIT %d, %d", $query_pictures, $startRow_pictures, $maxRows_pictures); $pictures = mysql_query($query_limit_pictures, $Guest) or die(mysql_error()); $row_pictures = mysql_fetch_assoc($pictures);
if (isset($_GET['totalRows_pictures'])) { $totalRows_pictures = $_GET['totalRows_pictures']; } else { $all_pictures = mysql_query($query_pictures); $totalRows_pictures = mysql_num_rows($all_pictures); } $total = intval(($totalRows_pictures - 1) / $maxRows_pictures) + 1;
if(empty($page) or $page < 0) $page = 1; if($page > $total) $page = $total; |
код создающий навигатор типа << < ..2|3|<b>4</b>|5|6.. > >> :
PHP |
<?php
if ($page != 1) $pervpage = '<a href= ?name='.$row_name['id'] .'&page=1><<</a> <a href= ?name='.$row_name['id'] .'&page='. ($page - 1) .'><</a> ';
if ($page != $total) $nextpage = ' <a href= ?name='.$row_name['id'] .'&page='. ($page + 1) .'>></a> <a href= ?name='.$row_name['id'] .'&page=' .$total. '>>></a>';
if($page - 2 > 0) $page2left = ' <a href= ?name='.$row_name['id'] .'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | '; if($page - 1 > 0) $page1left = '<a href= ?name='.$row_name['id'] .'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | '; if($page + 2 <= $total) $page2right = ' | <a href= ?name='.$row_name['id'] .'&page='. ($page + 2) .'>'. ($page + 2) .'</a>'; if($page + 1 <= $total) $page1right = ' | <a href= ?name='.$row_name['id'] .'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
|
В базу загружено 6 картинок, на странице они не отображаются. Когда устанавливаю $maxRows_pictures=1 отображаются все по одной на каждой странице. Если $maxRows_pictures=3 - отображаются 3 картинки 2 на одной странице, 1 - на другой. Подскажите, пожалуйста, где я допустил ошибку, несколько раз перепроверял код так ее и не нашел.
Спустя 6 минут, 18 секунд (25.06.2009 - 15:04) gooder отдыхающий написал(а):