[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Альбом.
Yurchi
вот


<?php
if (isset($_GET['id'])) //если есть id то отображаем вместимое конкретного альбома
{
$id = intval($_GET['id']);

echo '<p><a href="?place=photo_edit&album=' . $id . '">[Добавить фотоснимок]</a></p><br />';

$temp_page = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM `photos` WHERE `album` = '" . $id . "'"));
$posts_page = $temp_page[0];

echo $posts_page; // тут мне дает результат, там типо 3 фотки

$total = intval(($posts_page - 1) / 9) + 1;
$page = isset($_GET['page']) && $_GET['page'] >= 0 ? intval($_GET['page']) : 0;
if($page > $total) $page = $total;
$start = $page * 9;

$res = mysql_query("SELECT `id` FROM `photos` WHERE `album` = '" . $id . "' LIMIT ".$start.", 9");

if (mysql_num_rows($res) > 0)

{
for ($i = 1; $i =< 3; $i++)
{

echo '<tr>';

for ($j = 1; $j =< 3; $j++)
{
$row = mysql_fetch_assoc($res);
echo '<td><a href="place=photo&id=' . $row['id'] . '><img href="photos/thumbnails/' . $row['id'] . '.jpg"></a></td>';
}

echo '</tr>';
}

if ($total !== 1)
{
echo '<p class="paginator">';
for ($i = 0; $i < $total; $i++)
{
if ($i == $page) echo $i + 1;
else
echo PageLinkHtml($i);
}
echo '</p>';
}

}

}




Вот собсно в цыкле ничего не отображает, никаких превью со ссылками.
Фотки добавляются на сервер переменовуясь и конвертируясь в $id.'.jpg' - тут айди фотки.



Спустя 24 минуты, 18 секунд (12.07.2010 - 23:07) Yurchi написал(а):
запросы идут нормальные, вся проблема в цикле huh.gif

Спустя 2 минуты, 52 секунды (12.07.2010 - 23:10) Basili4 написал(а):
тут проблемы с матиматекой $total = intval(($posts_page - 1) / 9) + 1; это к чему зачем

давай я завтра на пишу код ты глянешь что к чему и все поймеш а твоем я ничег понять немогу одна сплошная математика

Спустя 7 минут, 9 секунд (12.07.2010 - 23:17) Yurchi написал(а):
Это общее количество страниц альбома. Расчёты для пагинатора. Нужно всего лишь создать страницу, где будет 9 превью фоток, в табличке, или без нее, с параметрами 3х3.
Вобщем 9 - это количество фоток на одной страничке.


<?php

$id = intval($_GET['id']);

$res = mysql_query("SELECT `id` FROM `photos` WHERE `album` = '" . $id . "' ");

if (mysql_num_rows($res) > 0)

{
for ($i = 1; $i == 3; $i++)
{

echo '<tr>';

for ($j = 1; $j == 3; $j++)
{
$row = mysql_fetch_assoc($res);
echo '<td><a href="place=photo&id=' . $row['id'] . '><img href="photos/thumbnails/' . $row['id'] . '.jpg"></a></td>';
}

echo '</tr>';
}

}



Упростил до максимумуа, что бы получить пример wink.gif

Спустя 12 минут, 1 секунда (12.07.2010 - 23:29) Basili4 написал(а):
цикл
for ($i = 1; $i <= 3; $i++) он работает пока условие выполняется

Спустя 20 часов, 47 минут, 39 секунд (13.07.2010 - 20:17) Yurchi написал(а):
окей, спасибо, работает.
Тепрь у меня проблема с самими фотками. Как заделать кнопки "Предыдущая" и "Следующая". Вот к примеру у меня id фотки, лежит с id альбома в одной стоке таблицы в базе. Как мне найти ту, что стоит перед, и ту что стоит после?
Вот мой код.
Как определить...


<?php

$id = isset($_GET['id']) ? intval($_GET['id']) : '';
$photo = 'photos/' . $id . '.jpg';

if (!file_exists($photo))
{
header('location:?place=album');
exit();
}

$res = mysql_query("SELECT `album` , `desc` , `author` , `date` FROM `photos` WHERE `id` = " . $id . " LIMIT 1");
$row = mysql_fetch_assoc($res);

echo '<table>'
.'<tr>' . "\n"
.'<td><img src="' . $photo . '" alt="Фото" /></td>' . "\n"
.'</table>' . "\n"
.'</tr>' . "\n"
.'<p>' . $row['desc'] . '</p>'."\n"
.'<div id="photoinfo">' . "\n"
.'Добавил:' . get_user_url($row['author']) . ' ' . $row['date'] . "\n"
.'</div>' . "\n";

?>

Спустя 2 часа, 56 минут, 18 секунд (13.07.2010 - 23:13) Yurchi написал(а):
есть в запросе SELECT такое свойство что бы заканчивать на какой-то конкретной строчке, так бы в идеале это бы была строчка = id текущей, а предидущая тогда очень просто выбираеться - LIMIT 1 ORDER BY `id` DESC, аналогично следеющая только бкз ДЕСКа

Спустя 19 минут, 12 секунд (13.07.2010 - 23:32) Yurchi написал(а):

<?php

$id = isset($_GET['id']) ? intval($_GET['id']) : '';
$photo = 'photos/' . $id . '.jpg';

if (!file_exists($photo))
{
header('location:?place=album');
exit();
}

$res = mysql_query("SELECT `album` , `desc` , `author` , `date` FROM `photos` WHERE `id` = " . $id . " LIMIT 1");
$row = mysql_fetch_assoc($res);

$res_prev = ("SELECT `id` FROM `photos` WHERE (( `id` < '" . $id . "') AND ( `album` = '" . $row['album'] . "' ) ) ORDER BY `id` DESC LIMIT 1");
$res_next = ("SELECT `id` FROM `photos` WHERE (( `id` > '" . $id . "') AND ( `album` = '" . $row['album'] . "' ) ) LIMIT 1");

echo '<table>'
.'<tr>' . "\n";
if(mysql_num_rows($res_prev))
{
$next = mysql_fetch_array($res_prev);
echo '<td><a a href="place.php?place=book&page=' . $prev['id'] . '"><img src="img\prev.gif"></a></td>';
}
echo '<td><img src="' . $photo . '" alt="Фото" /></td>' . "\n";
if(mysql_num_rows($res_next))
{
$next = mysql_fetch_array($res_next);
echo '<td><a a href="place.php?place=book&page=' . $next['id'] . '"><img src="img\next.gif"></a></td>';
}
echo '</table>' . "\n"
.'</tr>' . "\n"
.'<p>' . $row['desc'] . '</p>'."\n"
.'<div id="photoinfo">' . "\n"
.'Добавил:' . get_user_url($row['author']) . ' ' . $row['date'] . "\n"
.'</div>' . "\n";

?>


Вот идея как выйти с положения, только блин пишет что запрос плохой. Мужики, хелп!

Спустя 13 часов, 20 минут, 22 секунды (14.07.2010 - 12:53) Yurchi написал(а):
мне положена медаль "болван года" сегодня обнаружил что не написал mysql_query laugh.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.