Галериятан на miro91-по 3 резултата на ред

prima08

Registered
Използвам Галерията с upload на miro91 и се питам как мога да направя така че на ред да изкарвам по 3 картинки на ред от MySQL

Едит: Еми системата изкарва резултатите на един ред(ако имам 50 картинки ще ми ги изкара на един ден) Искам да искарва 3 картинки и после на долния ред да изкара още 3 и т.н.
 
файла ти gallery.php трябва да стане така.
Код:
<?php
include "config.php";
$broinastranica = 9;

$pageNum = 1;

if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$query = " SELECT * FROM gallery ORDER BY id DESC LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');
echo "<div class='gallery'>";
while($row = mysql_fetch_array($result))
{
echo "<div class='snimka'><a href='view=$row[id]'><img src='$row[small]' alt='$row[info]'></a></div>";
}
echo '</div>';
// проверяваме таблицата колко редове има
$query = "SELECT COUNT(snimka) AS numrows FROM gallery";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';
echo "<div class='paging' align='center'>";
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"index.php?page=$page\">$page</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"index.php?page=$page\">$prev</a> ";

$parva = " <a href=\"index.php?page=1\">$first</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"index.php?page=$page\">$next</a> ";

$posledna = " <a href=\"index.php?page=$maxPage\">$last</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna;
echo "</div>";
?>
и в CSS кода си добавяш това:
Код:
.gallery {
width: 465px;
}
.snimka  {
width: 155px;
float: left;
}
 
Стана но виж как
screenshots.gif
ако може малко да раздалечиш редовете
 
След като имаш няколко div-а с float: left; е редно да сложиш на края на реда един празен <div class="clear"></div>

кадето:
div.clear { clear: both; }

Имам някакви стари спомени, че така се правеше за да не се разкривява като на циганка зъбите.
 
Пробвай с таблица, много по-чисто става!
Код:
<?php
include "config.php";
$broinastranica = 9;

$pageNum = 1;

if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$query = " SELECT * FROM gallery ORDER BY id DESC LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');
echo "<table ><tr>";
$i = 1;
while($row = mysql_fetch_array($result))
{
if($i == 3) {
echo "</tr><tr>";
$i = 1;
} else { }
echo "<td><a href='view=$row[id]'><img src='$row[small]' alt='$row[info]'></a></td>";
$i++;
}
echo '</tr></table>';
// проверяваме таблицата колко редове има
$query = "SELECT COUNT(snimka) AS numrows FROM gallery";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];


$maxPage = ceil($numrows/$broinastranica);

$self = $_SERVER['PHP_SELF'];
$nomeranastranici = '';
echo "<div class='paging' align='center'>";
for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"index.php?page=$page\">$page</a> ";
}
}

if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"index.php?page=$page\">$prev</a> ";

$parva = " <a href=\"index.php?page=1\">$first</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"index.php?page=$page\">$next</a> ";

$posledna = " <a href=\"index.php?page=$maxPage\">$last</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna;
echo "</div>";
?>
 
Не го обърквай. Много по-чисто става с div а с таблица си е направо аматьорско.
 

Back
Горе