Прелистване на страници

_4efo_

Registered
Admin беше писал един такъв урок за това
Код:
<<<< 1 2 3 4 5 >>>>
,
но не мога да го намеря.... :?
Може ли да помощ ?
Благодаря :P
 
http://web-tourist.net/login/login/newsearch.php?wtsearch=z&newsearch=%CF%EE%EA%E0%E7%E2%E0%ED%E5+%ED%E0+%F0%E5%E7%F3%EB%F2%E0%F2%E8%F2%E5+
 
Код:
<?php

include"connect.php";
include"functions.php";

list_categories();

switch($_GET['cat']) {

case"$row[id]";
if(!isset($_POST['$row[id]'])) {
if($_GET['id']) {
$id = (int)$_GET['id'];
$query3 = mysql_query("SELECT * FROM tutorials WHERE valid = '1' AND cat_id = '$id' ORDER BY id DESC");
while($row = mysql_fetch_array($query3)) {
echo"
<table width='100%'>
<tr>
<td width='1%'>
<img src='$row[id]' alt='$row[id]'>
</td>
<td width='70%'>
<b><a href='viewtut.php?action=view&id=$row[id]' class='style3'>$row[tutname]</a></b> - $row[email]<br><b>$row[shortdes]</b></br>
</td><font color='#FFFFFF'>.</font><td width='13%'>Views: <b>$row[views]</b></td></td> <td width='1%'>
<a href='viewtut.php?action=view&id=$row[id]' class='style3'><img src='$row[image]' alt='Click Here!' width='103' height='84'></a>
</td>
</tr>
</table>";

}
}
}

}


/* Отбележете по колко резултата да се показват на страница */
$pp = "1";

/* изберета таблиза която искате да покажете
$table = "tutorials";

$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table"),0);
$numofpages = $total / $pp;
if (!isset($_GET['page'])) {
$page = 1;
}
else {
$page = $_GET['page'];
}
$limitvalue = $page * $pp - ($pp);

/* покажете записите, в този случай аз показвам само [username] */


function per_page($link, $offset) {
global $numofpages, $page;
$numofpages = round($numofpages);

$pagesstart = round($page-$offset);
$pagesend = round($page+$offset);

/* показване на стрелки « за предишна страница */
if ($page != "1" && round($numofpages) != "0") {
echo str_replace("%page", round($page-1), '<a href="'.$link.'"><font face="Trebuchet MS">«</font></a> ');
}

for($i = 1; $i <= $numofpages; $i++) {
if ($pagesstart <= $i && $pagesend >= $i) {
if ($i == $page) {
echo "<b>[$i]</b> ";
}
else {
echo str_replace("%page", "$i", '<a href="'.$link.'">'.$i.'</a> '); //номерация на страниците
}
}
}
if (round($numofpages) == "0") {
echo "[$i]";
}
/* показване на стрелки » за следваща страница */
if ($page != round($numofpages) && round($numofpages) != "0") {
echo str_replace("%page", round($page+1), '<a href="'.$link.'"><font face="Trebuchet MS">»</font></a>');
}
}

/* показване на общия брой страници и избор на страница */
echo '<br>';
echo 'Общо страници: '.round($numofpages).'<br>';

per_page("?page=%page", "5");

?>
брррр.... нещо не става :) Може ли да погледнете
 
това:

Код:
/* Отбележете по колко резултата да се показват на страница */ 
$pp = "1"; 

/* изберета таблиза която искате да покажете 
$table = "tutorials"; 

$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table"),0); 
$numofpages = $total / $pp; 
if (!isset($_GET['page'])) { 
$page = 1; 
} 
else { 
$page = $_GET['page']; 
} 
$limitvalue = $page * $pp - ($pp); 

/* покажете записите, в този случай аз показвам само [username] */

Цялото ти го дава като коментар.
 
това и аз съм го пробвам ама не става ето ти един работещ от мен
Код:
<?
$connection = mysql_connect("localhost","dbuser","dbpass")
or die("no connect");
mysql_select_db("dbname");
if(!isset($_GET['page'])){
    $page = 1;
} else {
    $page = $_GET['page'];
}

// Define the number of results per page
$max_results = 5;

// Figure out the limit for the query based
// on the current page number.
$from = (($page * $max_results) - $max_results); 

// Perform MySQL query on only the current page number's results

$sql = mysql_query("SELECT * FROM tablica LIMIT $from, $max_results");

while (list ($id , $title,$text )=mysql_fetch_array ($sql)) {
$text_limit="$text";
$text_limit=substr($text,0 , 50);
echo "<p><a href=procheti.php?id=$id>$title</a></p>$text_limit";

}

// Figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM tablica"),0);

// Figure out the total number of pages. Always round up using ceil()
$total_pages = ceil($total_results / $max_results);

// Build Page Number Hyperlinks
echo "<center><p><br />";

// Build Previous Link
if($page > 1){
    $prev = ($page - 1);
    echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\"><<Previous</a> ";
}

for($i = 1; $i <= $total_pages; $i++){
    if(($page) == $i){
        echo "$i ";
        } else {
            echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> ";
    }
}

// Build Next Link
if($page < $total_pages){
    $next = ($page + 1);
    echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\">next>></a>";
}
echo "</p></center>";
?>
 
jooorooo каза:
това:

Код:
/* Отбележете по колко резултата да се показват на страница */ 
$pp = "1"; 

/* изберета таблиза която искате да покажете 
$table = "tutorials"; 

$total = mysql_result(mysql_query("SELECT COUNT(id) FROM $table"),0); 
$numofpages = $total / $pp; 
if (!isset($_GET['page'])) { 
$page = 1; 
} 
else { 
$page = $_GET['page']; 
} 
$limitvalue = $page * $pp - ($pp); 

/* покажете записите, в този случай аз показвам само [username] */

Цялото ти го дава като коментар.
Дава го :) Ама гледам гледам и не мога да разбера къде е грешката...
Всмисъл това
Код:
/* Отбележете по колко резултата да се показват на страница */
$pp = "1";
ако напиша 5 примерно, ще ми показва целите редове с id от 1 до 5 ? така ли ?
Нищо не разбирам по този код.. :)
 
pweb каза:
това и аз съм го пробвам ама не става ето ти един работещ от мен
Код:
<?
$connection = mysql_connect("localhost","dbuser","dbpass")
or die("no connect");
mysql_select_db("dbname");
if(!isset($_GET['page'])){
    $page = 1;
} else {
    $page = $_GET['page'];
}

// Define the number of results per page
$max_results = 5;

// Figure out the limit for the query based
// on the current page number.
$from = (($page * $max_results) - $max_results); 

// Perform MySQL query on only the current page number's results

$sql = mysql_query("SELECT * FROM tablica LIMIT $from, $max_results");

while (list ($id , $title,$text )=mysql_fetch_array ($sql)) {
$text_limit="$text";
$text_limit=substr($text,0 , 50);
echo "<p><a href=procheti.php?id=$id>$title</a></p>$text_limit";

}

// Figure out the total number of results in DB:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM tablica"),0);

// Figure out the total number of pages. Always round up using ceil()
$total_pages = ceil($total_results / $max_results);

// Build Page Number Hyperlinks
echo "<center><p><br />";

// Build Previous Link
if($page > 1){
    $prev = ($page - 1);
    echo "<a href="".$_SERVER['PHP_SELF']."?page=$prev"><<Previous</a> ";
}

for($i = 1; $i <= $total_pages; $i++){
    if(($page) == $i){
        echo "$i ";
        } else {
            echo "<a href="".$_SERVER['PHP_SELF']."?page=$i">$i</a> ";
    }
}

// Build Next Link
if($page < $total_pages){
    $next = ($page + 1);
    echo "<a href="".$_SERVER['PHP_SELF']."?page=$next">next>></a>";
}
echo "</p></center>";
?>
Благодаря и на теб, но пробвам на jooorooo на admin... ще пробвам и твоя, ама там е работата, че не мога да разбера какъв им е принципа на работа
 
_4efo_ каза:
ако напиша 5 примерно, ще ми показва целите редове с id от 1 до 5 ? така ли ?
Нищо не разбирам по този код.. :)

да, ако сложиш 5 ще ти показва 5 резултата.
 
Мисля, че си видях грешката. По късно ще питам пак наи-вероятно :wink:
 
Ето ти още един варянт, които не е лош.

Код:
<?php 

$server = "localhost"; 
$dbusername = "username"; 
$dbpassword = "password"; 
$db_name = "dbname"; 

$PageSize = 25; //по колко реда на страница да показва

$StartRow = 0; 


if(empty($_GET['PageNo'])){ 
if($StartRow == 0){ 
$PageNo = $StartRow + 1; 
} 
}else{ 
$PageNo = $_GET['PageNo']; 
$StartRow = ($PageNo - 1) * $PageSize; 
} 


if($PageNo % $PageSize == 0){ 
$CounterStart = $PageNo - ($PageSize - 1); 
}else{ 
$CounterStart = $PageNo - ($PageNo % $PageSize) + 1; 
} 


$CounterEnd = $CounterStart + ($PageSize - 1); 
?> 

<html> 
<head> 
<title>Странициране</title> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
</head> 
<body> 

<?php 
mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни"); 
@mysql_select_db($db_name) or die("Грешна база данни"); 
$TRecord = mysql_query("SELECT * FROM `agent`"); 
$result = mysql_query("SELECT * FROM `agent` ORDER BY `id` DESC LIMIT $StartRow,$PageSize"); 


$RecordCount = mysql_num_rows($TRecord); 


$MaxPage = $RecordCount % $PageSize; 
if($RecordCount % $PageSize == 0){ 
$MaxPage = $RecordCount / $PageSize; 
}else{ 
$MaxPage = ceil($RecordCount / $PageSize); 
} 
?> 

<table width="100%" border="0" class="InternalHeader"> 
<tr> 
<td width="24%"></td> 
<td width="76%"> 
<div align="right"> 
<?php print "$RecordCount record(s) founds - You are at page $PageNo of $MaxPage" ?></div> 
</td> 
</tr> 
</table> 
<br> 
<table width="100%" border="0" class="NormalTableTwo"> 
<tr> 
<td class="InternalHeader" width="2%">Номер</td> 
<td class="InternalHeader" width="8%">Дата</td> 
<td class="InternalHeader" width="10%">IP</td> 
<td class="InternalHeader" width="25%">Адрес</td> 
<td class="InternalHeader" width="35%">Браузер</td> 
<td class="InternalHeader" width="20%">Инфо</td> 
</tr> 
<?php 
$i = 1; 
while($row = mysql_fetch_array($result)) 
{ 
$id=$row[id]; 
$data=$row[data]; 
$ip=$row[ip]; 
$adres=$row[adres]; 
$brouser=$row[brouser]; 
$info1=$row[info1]; 
$info2=$row[info2]; 
$img=$row[img]; 

$bil = $i + ($PageNo-1)*$PageSize; 
?> 
<tr> 
<td class="NormalFieldTwo" width="2%"><?php echo $bil ?></td> 
<td class="NormalFieldTwo" width="8%"><?php echo $data ?></td> 
<td class="NormalFieldTwo" width="10%"><?php echo $ip ?></a></td> 
<td class="NormalFieldTwo" width="25%"><?php echo $adres ?></td> 
<td class="NormalFieldTwo" width="35%"><?php echo $brouser ?></td> 
<td class="NormalFieldTwo" width="20%"><?php echo "<img width=20 height=10 border=1 src=$img> $info2 <br> $info1"; ?></td> 
</tr> 
<?php 
$i++; 
}?> 
</table><br> 
<table width="100%" border="0" class="InternalHeader"> 
<tr> 
<td> 

<div align="center"> 
<?php 
//Print First & Previous Link is necessary 
if($CounterStart != 1){ 
$PrevStart = $CounterStart - 1; 
print "<a href=?PageNo=1>Първи </a>: "; 
print "<a href=?PageNo=$PrevStart>Предишни $PageSize </a>"; 
} 
print " [ "; 
$c = 0; 

//Print Page No 
for($c=$CounterStart;$c<=$CounterEnd;$c++){ 
if($c < $MaxPage){ 
if($c == $PageNo){ 
if($c % $PageSize == 0){ 
print "$c "; 
}else{ 
print "$c ,"; 
} 
}elseif($c % $PageSize == 0){ 
echo "<a href=?PageNo=$c>$c</a> "; 
}else{ 
echo "<a href=?PageNo=$c>$c</a> ,"; 
}//END IF 
}else{ 
if($PageNo == $MaxPage){ 
print "$c "; 
break; 
}else{ 
echo "<a href=?PageNo=$c>$c</a> "; 
break; 
}//END IF 
}//END IF 
}//NEXT 

echo "] "; 

if($CounterEnd < $MaxPage){ 
$NextPage = $CounterEnd + 1; 
echo "<a href=?PageNo=$NextPage>Следващи $PageSize</a>"; 
} 

//Print Last link if necessary 
if($CounterEnd < $MaxPage){ 
$LastRec = $RecordCount % $PageSize; 
if($LastRec == 0){ 
$LastStartRecord = $RecordCount - $PageSize; 
} 
else{ 
$LastStartRecord = $RecordCount - $LastRec; 
} 

print " : "; 
echo "<a href=?PageNo=$MaxPage>Последни</a>"; 
} 
?> 
</div> 
</td> 
</tr> 
</table> 
<?php 
mysql_free_result($result); 
mysql_free_result($TRecord); 
?> 
</body> 
</html>
 
Това стана, ама имам проблем с заявката...
Код:
$sql = mysql_query("SELECT * FROM tutorials WHERE valid = '1'    LIMIT $from, $max_results");

while (mysql_fetch_array ($sql)) {

echo "<table width='100%'>
<tr>
<td width='1%'>
<img src='$row[id]' alt='$row[id]'>
</td>
<td width='70%'>
<b><a href='viewtut.php?action=view&id=$row[id]' class='style3'>$row[tutname]</a></b> - $row[email]<br><b>$row[shortdes]</b></br>
</td><font color='#FFFFFF'>.</font><td width='13%'>Views: <b>$row[views]</b></td></td> <td width='1%'>
<a href='viewtut.php?action=view&id=$row[id]' class='style3'><img src='$row[image]' alt='Click Here!' width='103' height='84'></a>
</td>
</tr>
</table>";

}
Таблицата ми излиза, но не и стойностите на $row[*] овете...
 

Back
Горе