Просто странициране

DirectX

Registered
Добър на всички. Някой ще може ли да ми даде един лек и кратък код за едно просто странициране от рода на 1 | 2 | 3 | 4 | 5 и т.н. Тия които съм пробвам в сайта или нито един от тях не работи или аз не правя нещо като хората ?!
 
DirectX каза:
Добър на всички. Някой ще може ли да ми даде един лек и кратък код за едно просто странициране от рода на 1 | 2 | 3 | 4 | 5 и т.н. Тия които съм пробвам в сайта или нито един от тях не работи или аз не правя нещо като хората ?!
http://web-tourist.net/login/login/newsearch.php?wtsearch=n&newsearch=%D1%F2%F0%E0%ED%E8%F6%E8%F0%E0%ED%E5&x=0&y=0
Има много се с някой трябва да можеш да се разбереш и той да тръгне като по вода. :?:
 
Ето ти една система от урок тук която аз използвам и съм доволен, работи перфектно, страницирането е като във форума. Сложил съм ти някои коментари за да се оправиш по лесно.

Код:
<?php
				
				$page = (int)$_GET['page'];
	if($page == 0 || $page == NULL || $page < 0)
	{
	$page = 1;
	}
	$pp = 10; // По колко резултата да показва на страница

	$start = ($page*$pp) - $pp;
	
	$query = mysql_query("SELECT * FROM blanka "); // Смени името на таблицата с твоята

	$broi = mysql_num_rows($query);
	$total = ceil($broi/$pp);
	
 
				$result = mysql_query("SELECT * FROM `blanka` ORDER BY id DESC LIMIT $start,$pp "); // Тук също сменяш името на таблицата
	





			
if (mysql_num_rows($result) > 0)
{    
				while ($row = mysql_fetch_array($result))
	{
		  // Тук в ечото е това което ще страницираш оставил съм пример аз какво съм страницирал


						
				














$id = $row['id'];
$uname = $row['uname'];
$desc = $row['desc'];
$ip = long2ip($row['ip']);
$data = $row['added'];
$url = $desc;


        if(preg_match("/youtube/si",$url)){
parse_str(parse_url($url, PHP_URL_QUERY ));
$id = $v;
echo"<iframe width="450" height="403" src="http://www.youtube.com/embed/'.$id.'?rel=0" frameborder="0" allowfullscreen></iframe>
<br>Добавено от: <a href='{$row['uname']}'>потребител</a><br /a><br /a>";
}

elseif(preg_match("/vbox7/si",$url)){
$id = end(explode('play:',$url));
echo"<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="450" height="403"><param name="movie" value="http://i47.vbox7.com/player/ext.swf?vid='.$id.'"><param name="quality" value="high"><embed src="http://i48.vbox7.com/player/ext.swf?vid='.$id.'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="403"></embed></object>
<br>Добавено от: <a href='{$row['uname']}'>потребител</a><br /a><br /a>";
 }







		
			
			
			}
			}








//Тука можеш да си сложиш картинки на бутончетата или просто да им зададеш цвят за бекграунд, разгледай го със стиловете можеш да си играеш останалото не го пипай. 
          			
			
			echo "<div id = 'STR' style = 'width:560px;'>";	

	if ($page > 1) { 
$prev = ($page - 1); 
echo "<a href=\"?page=$prev\" style=' margin-right:7px; margin-top:-1px; color:#666; text-decoration:none;'> Предишна </a> "; 
} 
else echo "<a style=' margin-right:7px; margin-top:-1px; color:#666; text-decoration:none; '>Предишна </a> ";

if (!$page or ($page > $total)) { 
$page="1"; 
} 

if ($total < 10) { 
for($i=1 ; $i<=$total ; $i++) { 
if ( ($page)==$i ) { 
echo "<b style=' background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px; '>$i</b> "; 
} 
else { 
echo "<a style=' background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px; ' href=\"?page=".$i."\"><b>".$i."</b></a> "; 
} 
} 
} 
else { 
for($i=1 ; $i<=3 ; $i++) { 
if ( ($page)==$i ) { 
echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
} 
else { 
echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;' href=\"?page=".$i."\">".$i."</a> "; 
} 
} 

if ($page <= 3) { 
if ($page == 3) echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;' href=\"?page=4\">4</a> "; 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;' href=\"?page=".$i."\">".$i."</a> "; 
} 
if ($page == 5) $parva.= "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;' href=\"?page=4\">4</a> "; 

if ( ($page == 4) or ($page == 5) ) { 
for ($i=$page; $i<=$page+1; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style=' background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:1px;' href=\"?page=".$i."\">".$i."</a> "; 
} 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style=' background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:1px;' href=\"?page=".$i."\">".$i."</a> "; 
} 

if ( ($page > 5) and ($page < ($total - 4)) ) { 
echo "... "; 
for ($i=$page-1; $i<=$page+1; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style=' background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px; ' href=\"?page=".$i."\">".$i."</a> "; 
} 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style=' background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:1px; ' href=\"?page=".$i."\">".$i."</a> "; 
} 

if ( $page > ($total - 5) ) { 
echo "... "; 
for ($i=$total-5; $i<=$total; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px; ' href=\"?page=".$i."\">".$i."</a> "; 
} 
} 
} 

if ($page < $total) { 
$next = ($page + 1); 
echo "<a href=\"?page=$next\" style=' margin-left:7px; margin-top:-1px; color:#666; text-decoration:none;'> Следваща </a> "; 
} 
else echo "<a style=' margin-left:7px; margin-top:-1px; color:#666; text-decoration:none; '>Следваща </a>"; 

	echo"</div>";

?>
 
Извинявай братле ама или аз съм много зле или наистина нещо ...
пробвах всякакви варианти и все не се получава .. имам таблица `blanka` и резултатите които искам да страницирам се намират в полето desc (видео линкове) , ще ми кажеш ли как точно трябва да се направи защото все нещо се бъгваше ... :/
 
Виж предишния ми пост направил съм го с твоята таблица и поле но desc по принцип е запазена дума в mysql и може за това да не ти работи. Пробвай го така и ако не стане си прекръсти полето в таблицата.
 
PHP:
 <?php
require_once 'config.php';
require_once '_inc.php'; 
//add files to connect with the dbase

$query = mysql_query("SELECT * FROM `blanka` ORDER BY id DESC")or die(mysql_error()."<br />??????: ".__LINE__);
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$uname = $row['uname'];
$desc = $row['desc'];
$ip = long2ip($row['ip']);
$data = $row['added'];
$url = $desc;


	if(preg_match("/youtube/si",$url)){
parse_str(parse_url($url, PHP_URL_QUERY ));
$id = $v;
echo'<iframe width="450" height="403" src="http://www.youtube.com/embed/'.$id.'?rel=0" frameborder="0" allowfullscreen></iframe>';
echo "<br>Добавено от: <a href='{$row['uname']}'>потребител</a><br /a><br /a>";
}elseif(preg_match("/vbox7/si",$url)){
$id = end(explode('play:',$url));
echo'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="450" height="403"><param name="movie" value="http://i47.vbox7.com/player/ext.swf?vid='.$id.'"><param name="quality" value="high"><embed src="http://i48.vbox7.com/player/ext.swf?vid='.$id.'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="403"></embed></object>' ;
echo "<br>Добавено от: <a href='{$row['uname']}'>потребител</a><br /a><br /a>";
 }}

	?>
знам че ставам нахален, но ето това е кода който чете линковете в desc
Искам да уточня, че тази част от кода се намира в главния файл (index-a) и искам кода за страницирането да е част от главния файл, а не обратното
 
Няма как да го пробвам но трябва да е нещо такова виж пак горния пост и кажи ставали и ако не каква грешка ти дава.
 
Баце не е от страницирането грешките идват от твоя код. Тръгни от по просто към по сложно. Сложи в цикъла например

echo "<p> $row[uname] </p>";

и ако има грешка пусни я за да видиме от къде идва проблема.
 
Значи със uname си бачка ! със desc също си работи вади си линковете всичко окей, обаче искам да мога със оня код които служи за възпроизвеждане на всеки линк ... :/

едит: успях да сложа този код обачееееее направо ми забива браузъра, защото в базата има 12 линка и не знам по колко пъти се къса да ги вади но са над 10 на страница ....

PHP:
<?php
            include '_inc.php';
			include 'config.php';
            $page = (int)$_GET['page'];
   if($page == 0 || $page == NULL || $page < 0)
   {
   $page = 1;
   }
   $pp = 10; // По колко резултата да показва на страница

   $start = ($page*$pp) - $pp;
   
   $query = mysql_query("SELECT * FROM blanka "); // Смени името на таблицата с твоята

   $broi = mysql_num_rows($query);
   $total = ceil($broi/$pp);
   
 
            $result = mysql_query("SELECT * FROM `blanka` ORDER BY id DESC LIMIT $start,$pp "); // Тук също сменяш името на таблицата
   





         
if (mysql_num_rows($result) > 0)
{    
            while ($row = mysql_fetch_array($result))
   {
       $query = mysql_query("SELECT * FROM `blanka` ORDER BY id DESC")or die(mysql_error()."<br />??????: ".__LINE__);
while($row = mysql_fetch_array($query)){
$id = $row['id'];
$uname = $row['uname'];
$desc = $row['desc'];
$ip = long2ip($row['ip']);
$data = $row['added'];
$url = $desc;


	if(preg_match("/youtube/si",$url)){
parse_str(parse_url($url, PHP_URL_QUERY ));
$id = $v;
echo'<iframe width="450" height="403" src="http://www.youtube.com/embed/'.$id.'?rel=0" frameborder="0" allowfullscreen></iframe>';
echo "<br>Добавено от: <a href='{$row['uname']}'>потребител</a><br /a><br /a>";
}elseif(preg_match("/vbox7/si",$url)){
$id = end(explode('play:',$url));
echo'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="450" height="403"><param name="movie" value="http://i47.vbox7.com/player/ext.swf?vid='.$id.'"><param name="quality" value="high"><embed src="http://i48.vbox7.com/player/ext.swf?vid='.$id.'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="450" height="403"></embed></object>' ;
echo "<br>Добавено от: <a href='{$row['uname']}'>потребител</a><br /a><br /a>";
 }}


 






      
         
         
         }
         }








//Тука можеш да си сложиш картинки на бутончетата или просто да им зададеш цвят за бекграунд, разгледай го със стиловете можеш да си играеш останалото не го пипай. 
                   
         
         echo "<div id = 'STR' style = 'width:560px;'>";   

   if ($page > 1) { 
$prev = ($page - 1); 
echo "<a href=\"?page=$prev\" style=' margin-right:7px; margin-top:-1px; color:#666; text-decoration:none;'> Предишна </a> "; 
} 
else echo "<a style=' margin-right:7px; margin-top:-1px; color:#666; text-decoration:none; '>Предишна </a> ";

if (!$page or ($page > $total)) { 
$page="1"; 
} 

if ($total < 10) { 
for($i=1 ; $i<=$total ; $i++) { 
if ( ($page)==$i ) { 
echo "<b style=' background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px; '>$i</b> "; 
} 
else { 
echo "<a style=' background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px; ' href=\"?page=".$i."\"><b>".$i."</b></a> "; 
} 
} 
} 
else { 
for($i=1 ; $i<=3 ; $i++) { 
if ( ($page)==$i ) { 
echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
} 
else { 
echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;' href=\"?page=".$i."\">".$i."</a> "; 
} 
} 

if ($page <= 3) { 
if ($page == 3) echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;' href=\"?page=4\">4</a> "; 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;' href=\"?page=".$i."\">".$i."</a> "; 
} 
if ($page == 5) $parva.= "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;' href=\"?page=4\">4</a> "; 

if ( ($page == 4) or ($page == 5) ) { 
for ($i=$page; $i<=$page+1; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style=' background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:1px;' href=\"?page=".$i."\">".$i."</a> "; 
} 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style=' background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:1px;' href=\"?page=".$i."\">".$i."</a> "; 
} 

if ( ($page > 5) and ($page < ($total - 4)) ) { 
echo "... "; 
for ($i=$page-1; $i<=$page+1; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style=' background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px; ' href=\"?page=".$i."\">".$i."</a> "; 
} 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style=' background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:1px; ' href=\"?page=".$i."\">".$i."</a> "; 
} 

if ( $page > ($total - 5) ) { 
echo "... "; 
for ($i=$total-5; $i<=$total; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px; ' href=\"?page=".$i."\">".$i."</a> "; 
} 
} 
} 

if ($page < $total) { 
$next = ($page + 1); 
echo "<a href=\"?page=$next\" style=' margin-left:7px; margin-top:-1px; color:#666; text-decoration:none;'> Следваща </a> "; 
} 
else echo "<a style=' margin-left:7px; margin-top:-1px; color:#666; text-decoration:none; '>Следваща </a>"; 

   echo"</div>";

?>
 
добре сега малко усложни пробвай така да видиме дали ще даде грешка

$id = $row['id'];
$uname = $row['uname'];
$desc = $row['desc'];
$ip = long2ip($row['ip']);
$data = $row['added'];
$url = $desc;


echo " $desc ";
 
Всъщност тия сигурно трябва да ги извадиш извън цикъла

$id = $row['id'];
$uname = $row['uname'];
$desc = $row['desc'];
$ip = long2ip($row['ip']);
$data = $row['added'];
$url = $desc;
 
след като ги изкарах от цикъла ми излиза само числата на страници и нищо друго в тях .. :/
 
пробвай така махни примерно вбокса и остави само ютубето като премахнеш и иф и елсиф да е чисто това което ще изведе и кажи какво става
 
пак е същото ... смисъл като оставих само ютуба пак ми ги изкарва по няколко пъти едни и същи линкове на 1 страница .. :/
 
Добре сега ще ти пусна същото странициране но с някои добавки които ги направих за да работи с търсачката и там май ми създаваше подобен проблем с това.
 
Смени долната част на страницирането с тази и пробвай


Код:
echo "<div id = 'STR' style = 'width:560px;'>";	
$get = $_GET; 
$url = $_SERVER['PHP_SELF'] . '?' . 
http_build_query($get); 
	if ($page > 1) { 
$prev = ($page - 1); 
echo "<a href=\"{$url}&page=$prev\" style=' margin-right:7px; margin-top:-1px; color:#666; text-decoration:none;'> Предишна </a> "; 
} 
else echo "<a style=' margin-right:7px; margin-top:-1px; color:#666; text-decoration:none; '>Предишна </a> "; 

if (!$page or ($page > $total)) { 
$page="1"; 
} 

if ($total < 10) { 
for($i=1 ; $i<=$total ; $i++) { 
if ( ($page)==$i ) { 
echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
} 
else { 
echo "<a style=' background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:0px;' href=\"{$url}&page=".$i."\"><b>".$i."</b></a> "; 
} 
} 
} 
else { 
for($i=1 ; $i<=3 ; $i++) { 
if ( ($page)==$i ) { 
echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
} 
else { 
echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:0px; ' href=\"{$url}&page=".$i."\">".$i."</a> "; 
} 
} 

if ($page <= 3) { 
if ($page == 3) echo "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:0px;' href=\"{$url}&page=4\">4</a> "; 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style='  background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:0px; ' href=\"{$url}&page=".$i."\">".$i."</a> "; 
} 
if ($page == 5) $parva.= "<a style='  background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:0px; ' href=\"{$url}&page=4\">4</a> "; 

if ( ($page == 4) or ($page == 5) ) { 
for ($i=$page; $i<=$page+1; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style=' background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:0px;' href=\"{$url}&page=".$i."\">".$i."</a> "; 
} 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style=' background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:0px; ' href=\"{$url}&page=".$i."\">".$i."</a> "; 
} 

if ( ($page > 5) and ($page < ($total - 4)) ) { 
echo "... "; 
for ($i=$page-1; $i<=$page+1; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style=' background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:0px; ' href=\"{$url}&page=".$i."\">".$i."</a> "; 
} 
echo "... "; 
for ($i=$total-2; $i<=$total; $i++) 
echo "<a style=' background: url(images/STR.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:0px; ' href=\"{$url}&page=".$i."\">".$i."</a> "; 
} 

if ( $page > ($total - 5) ) { 
echo "... "; 
for ($i=$total-5; $i<=$total; $i++) { 
if ($page == $i) echo "<b style='background: url(images/STR_ACTIVE.jpg) no-repeat; color:#666; padding-left:8px; padding-right:8px; padding-bottom:1px;'>$i</b> "; 
else echo "<a style='  background: url(images/STR.jpg) no-repeat; padding-left:8px; color:#666; padding-right:8px; padding-bottom:0px;' href=\"{$url}&page=".$i."\">".$i."</a> "; 
} 
} 
} 

if ($page < $total) { 
$next = ($page + 1); 

echo "<a href=\"{$url}&page=$next\" style=' margin-left:7px; margin-top:-1px; color:#666; text-decoration:none;'> Следваща </a> ";
} 
else echo "<a style=' margin-left:7px; margin-top:-1px; color:#666; text-decoration:none; '>Следваща </a>";

	echo"</div>";
 

Back
Горе