Въпрос за странициране?

Th3MaN

Registered
Значи направих си една системка и в като показвам резултатите ги страницирам. Обаче имам един проблем значи кода ми е така структуриран.

<table><tr>

и тука ми е самото странициране и повторам нали тоя ред колкото пъти трябва <td><a href="нещо">Нещо</а></td>

И примерно съм нагласил тва да се повтори 4 пъти на тая страница и да се отвори нова.

и след това свършва нали тоя код и си затварям таблицата

</tr></table>

Обаче така 4те резултата ми се изкарват на един ред. Това добре обаче искам да изкарам 8 резултата на два реда. Демек изкарвам си първи ред 4 резултата после се прави още 1 ред и още 4 резултата и после чак да се прави нова страница. Обаче сега ако нагласа да са 8 резултата на страница и 8те отиват на 1 ред което е логично щото аз повтарям в цикъла само елементите <td></td> от таблицата и това във тях. Обаче ако вкарам и <tr></tr> примерно това за всеки резултат се прави нов ред. А искам за 4 резултата ред и след това чак нов.

Пример:

Сега ми излиза така

Резултат Едно | Резултат Две | Резултат три | Резултат четири

И като имам пети резултат ми излиза втора страница и там пак така 1 ред.

А искам та да стане така

Резултат Едно | Резултат Две | Резултат три | Резултат четири
Резултат пет | Резултат шест | Резултат седем| Резултат осем

и тогава нова страница. Демек по 2 реда с по 4 резултата на страница
 
Загубих си кристалното кълбо... Но кристалния монитор ми подсказва.
Код:
<?php
...

$novred = count($string); //$string е например $row['zapis']
if($novred > 4) {
$br = "<br />"; } else { $br = ""; }

...
echo "<td>ne6to bateee</td> $br";
...

?>
 
не става така така ако променливата нов ред е по малка от 4 се добавя br под секи ред а не след 4тия....
 
Код:
<table class="table-main" align="center" border="1" cellspacing="0" cellpadding="0">
<tr>
<?php

$broinastranica = 4;

$pageNum = 1;

if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

$redove = ($pageNum - 1) * $broinastranica;
$_GET['page'];


$sqlquery = "SELECT * from images order by id" .
" LIMIT $redove, $broinastranica"; 

$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");

while ($row = mysql_fetch_array($queryresult))
{

echo "
<td width=\"150px\" height=\"150px\" align=\"center\"><a href=\"$row[picurl]\" rel=\"lightbox[roadtrip]\"><img src=\"thumb.php?from=$row[picurl] &wdth=150\" border=\"0\"></a></td>

";
}
$query = "SELECT COUNT(id) AS numrows FROM images";
$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 = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}
}



if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\"> [<<] </a> ";

$parva = " <a href=\"$self?page=1\">[$language[first]]</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}

if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\"> [>>] </a> ";

$posledna = " <a href=\"$self?page=$maxPage\">[$language[last]]</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
echo ("<table><tr><td>$parva  $predishna  $nomeranastranici  $sledvashta  $posledna</td></tr></table>");
 ?>
</tr></table>
 
<table class="table-main" align="center" border="1" cellspacing="0" cellpadding="0">
<tr>
<?php

$broinastranica = 8;

$pageNum = 1;

if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

$redove = ($pageNum - 1) * $broinastranica;
$_GET['page'];


$sqlquery = "SELECT * from images order by id" .
" LIMIT $redove, $broinastranica";

$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");

$i=0;

while ($row = mysql_fetch_array($queryresult))
{

if($i==4)
{
echo "</tr><tr>";
}

echo "
<td width=\"150px\" height=\"150px\" align=\"center\"><a href=\"$row[picurl]\" rel=\"lightbox[roadtrip]\"><img src=\"thumb.php?from=$row[picurl] &wdth=150\" border=\"0\"></a></td>

";

$i++;
}
$query = "SELECT COUNT(id) AS numrows FROM images";
$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 = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}
}



if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\"> [<<] </a> ";

$parva = " <a href=\"$self?page=1\">[$language[first]]</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}

if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\"> [>>] </a> ";

$posledna = " <a href=\"$self?page=$maxPage\">[$language[last]]</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
echo ("<table><tr><td>$parva $predishna $nomeranastranici $sledvashta $posledna</td></tr></table>");
?>
</tr></table>

Ориентираш ли се?
 
<table class="table-main" align="center" border="1" cellspacing="0" cellpadding="0">
<tr>
<?php

$broinastranica = 8;

$pageNum = 1;

if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}

$redove = ($pageNum - 1) * $broinastranica;
$_GET['page'];


$sqlquery = "SELECT * from images order by id" .
" LIMIT $redove, $broinastranica";

$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");

$i=0;

while ($row = mysql_fetch_array($queryresult))
{

echo "<td width=\"150px\" height=\"150px\" align=\"center\"><a href=\"$row[picurl]\" rel=\"lightbox[roadtrip]\"><img src=\"thumb.php?from=$row[picurl] &wdth=150\" border=\"0\"></a></td>";

if($i < 4)
{
echo "</tr><tr>";
} else { }

$i++;
}
$query = "SELECT COUNT(id) AS numrows FROM images";
$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 = '';

for($page = 1; $page <= $maxPage; $page++)
{
if ($page == $pageNum)
{
$nomeranastranici .= " $page ";
}
else
{
$nomeranastranici .= " <a href=\"$self?page=$page\">$page</a> ";
}
}



if ($pageNum > 1)
{
$page = $pageNum - 1;
$predishna = " <a href=\"$self?page=$page\"> [<<] </a> ";

$parva = " <a href=\"$self?page=1\">[$language[first]]</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}

if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$sledvashta = " <a href=\"$self?page=$page\"> [>>] </a> ";

$posledna = " <a href=\"$self?page=$maxPage\">[$language[last]]</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}
echo ("<table><tr><td>$parva $predishna $nomeranastranici $sledvashta $posledna</td></tr></table>");
?>
</tr></table>
 
давам ти го като идея за решение, но не е готово. Ще даде неочакван резултат, ако имаш по-малко от 8 записа на последната страница.

Помисли малко. Ако не се сетиш, как да го прецизираш, ще се пробвам довечера да измисля вариант...
 
Ами добре работи на последната страница имам само 2 резултата и то съсдава само 2 колони и работи добре. Ако са 5 резулатите или 6 , 7, 8 тогава ще е проблем защото ще показва празни колонки на вторият ред.
 

Back
Горе