|
|
|
|
|
для: Slo_Nik
(29.06.2009 в 11:09)
| | Переписал. Все заработало. Спасибо! | |
|
|
|
|
|
|
|
для: Степан
(29.06.2009 в 10:24)
| | перепиши код для вывода изображений на экран без использования do...while,используй просто while, тогда будет всё нормально.
цикл do...while всегда будет выполнен хотя бы один раз, поэтому у тебя и дублируется изображение. | |
|
|
|
|
|
|
|
для: dyadya
(26.06.2009 в 21:02)
| | Исправил код:
Для соединения с базой:
mysql_select_db($database_Guest, $Guest);
$query_pictures = sprintf("SELECT * FROM painting WHERE nameid = %s ORDER BY title ASC", GetSQLValueString($colname_pictures, "int"));
$pictures = mysql_query($query_pictures, $Guest) or die(mysql_error());
$row_pictures = mysql_fetch_assoc($pictures);
$totalRows_pictures = mysql_num_rows($pictures);
$colname_pictures = "-1";
if (isset($_GET['name'])) {
$colname_pictures = (get_magic_quotes_gpc()) ? $_GET['name'] : addslashes($_GET['name']);
}
$maxRows_pictures = 8;
$page = 1;
if (isset($_GET['page'])) {
$page = $_GET['page'];
}
$startRow_pictures = $page * $maxRows_pictures-$maxRows_pictures;
$query_limit_pictures = sprintf("%s LIMIT %d, %d", $query_pictures, $startRow_pictures, $maxRows_pictures);
$pictures1 = mysql_query($query_limit_pictures, $Guest) or die(mysql_error());
|
Для вывода изображений на экран:
<?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 "</th></tr>";
$td = 1;
}
} while ($row_pictures = mysql_fetch_assoc($pictures1)); ?>
|
Изображения выводятся, навигатор работает, но одно из изображений дублируется на каждую страницу. | |
|
|
|
|
|
|
|
для: Степан
(26.06.2009 в 13:25)
| | Сам писал? Иль кто подсказал? Какая-то херня если честно... | |
|
|
|
|
|
|
|
для: Степан
(26.06.2009 в 08:59)
| | Я бы, на Вашем месте, сформировал бы для начала страницу с любыми картинками без всякой БД.
Синтаксис для тэга ТН:
<table> <tr> <th>...</th> </tr> </table>
|
Не видно закрывающего тега ТН и присутствует непонятный параметр: th width="200" scope="row" | |
|
|
|
|
|
|
|
для: Степан
(26.06.2009 в 13:25)
| | ты в этом уверен? | |
|
|
|
|
|
|
|
для: mihdan
(26.06.2009 в 11:36)
| | без этого цикла будет выводиться только одна картинка | |
|
|
|
|
|
|
|
для: Степан
(26.06.2009 в 08:59)
| | do...while то здесь зачем? | |
|
|
|
|
|
|
| Прошу помощи в решении следующей проблемы. На каждой странице должны выводится изображения 9 штук в 3 ряда. Вот код постраения таблицы
<?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)); ?>
|
Код подключения к базе и создания переменных:
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
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=9, то они не отображаются на странице. Когда устанавливаю $maxRows_pictures=1 - отображаются все по одной на каждой странице. Если $maxRows_pictures=3 - отображаются 3 картинки: 2 на одной странице, 1 - на другой. Подскажите, пожалуйста, где я допустил ошибку, несколько раз перепроверял код так ее и не нашел. | |
|
|
|
|