Може ли да ми Страницирате!

kosta

Registered
Можели да ми страницирате това
Код:
<?php
include "config.php";
$our = mysql_query("SELECT * FROM chatbox ORDER BY id DESC LIMIT 10") or die (mysql_error());
while ($row = mysql_fetch_assoc($our)) {
require "files/bbcode.php";
echo "<Table id='comments' align='center' cellpadding='1'>
<tr><td class='author'><img src='images/user.png'/><b>$row[author]</b> каза:</td></tr>
<tr><td class='date'>На: <b>$row[date]</b> Във: <b>$row[hour]</b></td></tr>
<tr><td class='comment'>$bbcode</td></tr>
</table>
<br>";

?>
 
<?php
include "config.php";

// определяме колко реда да ни показва. В случая 20 на страница.

$broinastranica = 20;

// от коя страница да почне да показва.Може да искаме да е от втора или от последна.

$pageNum = 1;

// ако има получени данни $_GET['page'] ще покаже страницата с номер $_GET['page']

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

//тука определяме кои редове ще се показват - примерно ако $_GET['page']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($pageNum - 1) * $broinastranica;
//заявката ще върне само посочените редове - примерно от 20 до 40 в зависимост от $_GET['page']
$query = " SELECT * FROM chatbox ORDER BY `id` DESC " .
" LIMIT 10 $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');

echo "<table border=1>";
// print-ваме посочените редове в таблица.
while($row = mysql_fetch_array($result))
{
require "files/bbcode.php";
echo "<Table id='comments' align='center' cellpadding='1'>
<tr><td class='author'><img src='images/user.png'/><b>$row[author]</b> каза:</td></tr>
<tr><td class='date'>На: <b>$row[date]</b> Във: <b>$row[hour]</b></td></tr>
<tr><td class='comment'>$bbcode</td></tr>
</table>
<br>";

}

echo"</table>";


// проверяваме таблицата колко редове има
$query = "SELECT COUNT(*) AS numrows FROM chatbox";
$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\">[първа]</a> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}

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

$posledna = " <a href=\"$self?page=$maxPage\">[последна]</a> ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}

// показваме
echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna;





?>
 
Ето ти го готово. Сложих му малко стил, за да не са само числа .. :)

Код:
<?php
$thispage = $PHP_SELF;

$showeachside = 5; //  Колко страници да се показват отляво и отдясно на текущата страница

// Колко реда на страница
$rowsPerPage = 15;

// Подразбираме показване на първа страница
$pageNum = 1;

// ако $_GET['page'] е дифинирано използваме тази страница
if(isset($_GET['page']) and is_numeric($_GET['page']))
{
    $pageNum = $_GET['page'];
}
if(!preg_match("/^(?i)[0-9_]*$/", $_GET['page'])) { $pageNum = '1'; }
// пресмятаме отместването
$offset = ($pageNum - 1) * $rowsPerPage;

// тук трябва да напишеш своята заявка
include "config.php";
$our = mysql_query("SELECT * FROM chatbox ORDER BY id DESC LIMIT 10") or die (mysql_error());
while ($row = mysql_fetch_assoc($our)) {
require "files/bbcode.php";
echo "<table id='comments' align='center' cellpadding='1'>
<tr><td class='author'><img src='images/user.png'/><b>$row[author]</b> каза:</td></tr>
<tr><td class='date'>На: <b>$row[date]</b> Във: <b>$row[hour]</b></td></tr>
<tr><td class='comment'>$bbcode</td></tr>
</table>
<br>";
// колко реда общо имаме ?
$query1   = "SELECT COUNT(id) AS numrows FROM chatbox";
$result  = mysql_query($query1) or die('Error, query failed');
$row     = mysql_fetch_array($result, MYSQL_ASSOC);

$num = $row['numrows']; // броя на редовете

$start = ($pageNum -1) * $rowsPerPage;
if(empty($start))$start=0;  // текуща стартова позиция

$max_pages = ceil($num/$rowsPerPage); // брой на страниците
$cur = ceil($start/$rowsPerPage)+1; // текуща страница
?>

<table border="0" cellpadding="0" cellspacing="0">
    <tr>

        <td align="center" valign="middle">
            <?php
            if(($start-$rowsPerPage) >= 0)
            {
                $next = $cur - 1;
                ?>
                <a class="page" href="<?php print("$thispage?m=softwares&page=1");?>">Първа</a>
                <a class="page" href="<?php print("$thispage".($next>0?("?m=softwares&page=").$next:""));?>">Назад</a>
                <?php
            }
            ?>
        </td>


        <td align="center" valign="middle"><div class="page">
            <table>
                <tr>
                    <td colspan="3" align="center" valign="middle">
                        <?php
                        $eitherside = ($showeachside * $rowsPerPage);
                        if($start+1 > $eitherside)print (" .... ");
                        $pg=1;
                        for($y=0;$y<$num;$y+=$rowsPerPage)
                        {
                            $class=(($y==$start)?"active":"")."page";
                            if(($y > ($start - $eitherside)) && ($y < ($start + $eitherside)))
                            {
                                if ($y <> $start) {
                                    ?>
                                     <a class="<?php print($class);?>" href="<?php print("$thispage"."?m=softwares&page=".(($y/$rowsPerPage)+1));?>"><?php print($pg);?></a> 
                                    <?php
                                } else {
                                    ?>
                                     <a class="<?php print($class);?>"><?php print($pg);?></a> 
                                    <?php
                                }
                            }
                            $pg++;
                        }
                        if(($start+$eitherside)<$num)print (" .... ");
                        ?>
                    </td>

                </tr>
            </table>
        </div></td>


        <td align="center" valign="middle">
            <?php
            if (($start+$rowsPerPage) < $num)
            {
                $next = $cur + 1;
                ?>
                <a class="page" href="<?php print("$thispage?m=softwares&page=".$next);?>">Напред</a>
                <a class="page" href="<?php print("$thispage?m=softwares&page=$max_pages");?>">Последна</a>
                <?php
            }
            ?>
        </td>

    </tr>

    <tr>
        <td colspan="3" align="center" valign="middle"> </td>
    </tr>

</table>

Ето и style.css кода:
Код:
.page {
color:#9191BB;
padding:0px 3px 0px 3px;
text-decoration:none;
font-size:1em;
background:#EAEAEA;
border-top:1px solid #9191BB;
border-right:1px solid #9191BB;
border-bottom:1px solid #9191BB;
border-left:1px solid #9191BB;
}
 
Parse error: parse error in C:\xampp\htdocs\kosta\index.php on line 201 ! Пак там е празен ред !
 
<?php
$thispage = $PHP_SELF;

$showeachside = 5; // Колко страници да се показват отляво и отдясно на текущата страница

// Колко реда на страница
$rowsPerPage = 15;

// Подразбираме показване на първа страница
$pageNum = 1;

// ако $_GET['page'] е дифинирано използваме тази страница
if(isset($_GET['page']) and is_numeric($_GET['page']))
{
$pageNum = $_GET['page'];
}
if(!preg_match("/^(?i)[0-9_]*$/", $_GET['page'])) { $pageNum = '1'; }
// пресмятаме отместването
$offset = ($pageNum - 1) * $rowsPerPage;

// тук трябва да напишеш своята заявка
include "config.php";
$our = mysql_query("SELECT * FROM chatbox ORDER BY id DESC LIMIT 10") or die (mysql_error());
while ($row = mysql_fetch_assoc($our)) {
require "files/bbcode.php";
echo "<table id='comments' align='center' cellpadding='1'>
<tr><td class='author'><img src='images/user.png'/><b>$row[author]</b> каза:</td></tr>
<tr><td class='date'>На: <b>$row[date]</b> Във: <b>$row[hour]</b></td></tr>
<tr><td class='comment'>$bbcode</td></tr>
</table>
<br>";
// колко реда общо имаме ?
$query1 = "SELECT COUNT(id) AS numrows FROM chatbox";
$result = mysql_query($query1) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);

$num = $row['numrows']; // броя на редовете

$start = ($pageNum -1) * $rowsPerPage;
if(empty($start))$start=0; // текуща стартова позиция

$max_pages = ceil($num/$rowsPerPage); // брой на страниците
$cur = ceil($start/$rowsPerPage)+1; // текуща страница
?>

<table border="0" cellpadding="0" cellspacing="0">
<tr>

<td align="center" valign="middle">
<?php
if(($start-$rowsPerPage) >= 0)
{
$next = $cur - 1;
?>
<a class="page" href="<?php print("$thispage?m=softwares&page=1");?>">Първа</a>
<a class="page" href="<?php print("$thispage".($next>0?("?m=softwares&page=").$next:""));?>">Назад</a>
<?php
}
?>
</td>


<td align="center" valign="middle"><div class="page">
<table>
<tr>
<td colspan="3" align="center" valign="middle">
<?php
$eitherside = ($showeachside * $rowsPerPage);
if($start+1 > $eitherside)print (" .... ");
$pg=1;
for($y=0;$y<$num;$y+=$rowsPerPage)
{
$class=(($y==$start)?"active":"")."page";
if(($y > ($start - $eitherside)) && ($y < ($start + $eitherside)))
{
if ($y <> $start) {
?>
 <a class="<?php print($class);?>" href="<?php print("$thispage"."?m=softwares&page=".(($y/$rowsPerPage)+1));?>"><?php print($pg);?></a> 
<?php
} else {
?>
 <a class="<?php print($class);?>"><?php print($pg);?></a> 
<?php
}
}
$pg++;
}
if(($start+$eitherside)<$num)print (" .... ");
}
?>
</td>

</tr>
</table>
</div></td>


<td align="center" valign="middle">
<?php
if (($start+$rowsPerPage) < $num)
{
$next = $cur + 1;
?>
<a class="page" href="<?php print("$thispage?m=softwares&page=".$next);?>">Напред</a>
<a class="page" href="<?php print("$thispage?m=softwares&page=$max_pages");?>">Последна</a>
<?php
}
?>
</td>

</tr>

<tr>
<td colspan="3" align="center" valign="middle"> </td>
</tr>

</table>

Пробвай така.
 
Добре стан.Но каде да намеря това дето да пиша по колко коментара да са на страница
 

Back
Горе