Странициране на код

Pro_Lamer4e

Registered
Ще може ли да се страницира защото като опитах нещо не се получи



Код:
<?php

$tarsene = $_GET['search'];

$server = "localhost";
$dbusername = "root";
$dbpassword = "";
$db_name = "db";


mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
@mysql_select_db($db_name) or die("Грешна база данни");
$query = " SELECT * FROM servers WHERE name LIKE '%$tarsene%'";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_numrows($result);

echo "<center>Намерени резултати за: <b><i>$tarsene</i></b>";
echo "<br />";
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$name = $row['name'];
$ip = $row['ip'];
$port = $row['port'];
$cheat = $row['cheat'];
$type = $row['type'];
$author = $row['author'];

echo "<div 
style=\"display: block;\" class=\"content\"><table style=\"margin: 0pt auto;\"
 width=\"280\" height=\"180\"><tbody><tr><td class=\"content\"><div 
style=\" border: 1px solid rgb(254, 
218, 150); margin: 1px; padding: 1px; text-align: center;\">
<b>$name</b><br>$ip:$port</div>
<center>
<br><table style=\"border-collapse: collapse;\" border=\"1\" 
width=\"100%\">
  <tbody>
  <tr>
    <td> <b>Сървър №:</b></td>
    <td><span style=\"color: blue;\"><b>$id</b></span></td>
  </tr>
  <tr>
    <td> <b>Мод:</b></td>
    <td><span style=\"color: gray;\"><b>$type</b></span></td>
  </tr>
  <tr>
    <td> <b>Anticheat:</b></td>
    <td><span style=\"color: red;\"><b>$cheat</b></span></td>
  </tr>
</tbody></table>
<br>Изпратен от:<font color=red> $author</font></table>
<div class='hr'</div>";
}
?>
 
<?php

$tarsene = $_GET['search'];

$server = "localhost";
$dbusername = "root";
$dbpassword = "";
$db_name = "db";


mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
@mysql_select_db($db_name) or die("Грешна база данни");

$resOnPage = 10;
$fromR = $HTTP_POST_VARS['fromR'];
if(!$fromR){$fromR = 0;}
$lastR = $HTTP_POST_VARS['lastR'];
if(!$lastR){
$query = "SELECT * FROM servers WHERE name LIKE '%$tarsene%'";
$result = mysql_query($query);
$lastR = mysql_num_rows($result);
}

$query = " SELECT * FROM servers WHERE name LIKE '%$tarsene%' LIMIT $fromR,$resOnPage";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_numrows($result);

echo "<center>Намерени резултати за: <b><i>$tarsene</i></b>";
echo "<br />";
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$name = $row['name'];
$ip = $row['ip'];
$port = $row['port'];
$cheat = $row['cheat'];
$type = $row['type'];
$author = $row['author'];

echo "<div
style=\"display: block;\" class=\"content\"><table style=\"margin: 0pt auto;\"
width=\"280\" height=\"180\"><tbody><tr><td class=\"content\"><div
style=\" border: 1px solid rgb(254,
218, 150); margin: 1px; padding: 1px; text-align: center;\">
<b>$name</b><br>$ip:$port</div>
<center>
<br><table style=\"border-collapse: collapse;\" border=\"1\"
width=\"100%\">
<tbody>
<tr>
<td> <b>Сървър №:</b></td>
<td><span style=\"color: blue;\"><b>$id</b></span></td>
</tr>
<tr>
<td> <b>Мод:</b></td>
<td><span style=\"color: gray;\"><b>$type</b></span></td>
</tr>
<tr>
<td> <b>Anticheat:</b></td>
<td><span style=\"color: red;\"><b>$cheat</b></span></td>
</tr>
</tbody></table>
<br>Изпратен от:<font color=red> $author</font></table>
<div class='hr'</div>";
}

if($lastR > $resOnPage){
$pageN = intval($lastR/$resOnPage);
if($pageN*$resOnPage < $lastR){$pageN++;}
?>
<form id="navform" name="navform" method="post" action="">
<input type="hidden" name="fromR" id="fromR" value="fromR"/>
<input type="hidden" name="lastR" id="lastR" value="<?php echo $lastR;?>"/>
<?php
for($i = 1; $i < $pageN + 1; $i++){
$goTo = $i*$resOnPage-$resOnPage;
if($goTo == $fromR){echo '<a style="color: #FF0000;"> '.$i.' </a>|';}
else{echo '<a style="cursor: pointer;" onclick="document.getElementById('."'fromR').value = $goTo; document.navform.submit();".'"> '.$i.' </a>|';}
}
?>
</form>
<?php
}

?>


Това едва ли е най-елегантния начин но поне работи. Но говоря само за страницирането. Много се съмнявам, че заявката ще ти връща коректни резултати, но това е друга тема: http://web-tourist.net/forum/viewtopic.php?t=96443
 
не стана даде ми грешка

Код:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\maps\de.php on line 40
Error, query failed
 
Код:
<?php

$tarsene = $_GET['search'];

$server = "localhost";
$dbusername = "root";
$dbpassword = "";
$db_name = "db";


mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
@mysql_select_db($db_name) or die("Грешна база данни");



$broinastranica = 10;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `servers`";
$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 = " <font color=orange><a href=\"$self?page=$page\"> [<] </a></font> ";

$parva = " <font color=orange><a href=\"$self?page=1\">[първа]</a></font> ";
}
else
{
$predishna = ' ';
$parva = ' ';
}



$query = " SELECT * FROM servers WHERE name LIKE '%$tarsene%' DESC LIMIT $redove, $broinastranica";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_numrows($result);

echo "<center>Намерени резултати за: <b><i>$tarsene</i></b>";
echo "<br />";
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$name = $row['name'];
$ip = $row['ip'];
$port = $row['port'];
$cheat = $row['cheat'];
$type = $row['type'];
$author = $row['author'];

echo "<div
style=\"display: block;\" class=\"content\"><table style=\"margin: 0pt auto;\"
 width=\"280\" height=\"180\"><tbody><tr><td class=\"content\"><div
style=\" border: 1px solid rgb(254,
218, 150); margin: 1px; padding: 1px; text-align: center;\">
<b>$name</b><br>$ip:$port</div>
<center>
<br><table style=\"border-collapse: collapse;\" border=\"1\"
width=\"100%\">
  <tbody>
  <tr>
    <td> <b>Сървър №:</b></td>
    <td><span style=\"color: blue;\"><b>$id</b></span></td>
  </tr>
  <tr>
    <td> <b>Мод:</b></td>
    <td><span style=\"color: gray;\"><b>$type</b></span></td>
  </tr>
  <tr>
    <td> <b>Anticheat:</b></td>
    <td><span style=\"color: red;\"><b>$cheat</b></span></td>
  </tr>
</tbody></table>
<br>Изпратен от:<font color=red> $author</font></table>
<div class='hr'</div>";
}

echo "<font color = '#000' />Страница: </font>";
echo "<font color = '#000' />$nomeranastranici</font>";
?>
 
<?php

$tarsene = $_GET['search'];

$server = "localhost";
$dbusername = "root";
$dbpassword = "";
$db_name = "db";


mysql_connect($server, $dbusername, $dbpassword)or die("Сайтът не може да се свърже към базата данни");
@mysql_select_db($db_name) or die("Грешна база данни");

//Линк преди променливата страница.
$link = "music.php?";
// определяме колко реда да ни показва.
$broinastranica = 30;
// от коя страница да почне да показва.Може да искаме да е от втора или от последна.
$stranicaNum = 1;
// ако има получени данни $_GET['stranica'] ще покаже страницата с номер $_GET['stranica']
if(isset($_GET['stranica']))
{
$stranicaNum = sec($_GET['stranica']);
}
//тука определяме кои редове ще се показват - примерно ако $_GET['stranica']=2
// ще покаже от 20 до 40-ти ред.
$redove = ($stranicaNum - 1) * $broinastranica;

$query = "SELECT * FROM servers WHERE name LIKE '%$tarsene%'"." LIMIT $redove, $broinastranica";

$result = mysql_query($query) or die('Error, query failed');
$row = mysql_numrows($result);

echo "<center>Намерени резултати за: <b><i>$tarsene</i></b>";
echo "<br />";
while($row = mysql_fetch_array($result))
{
$id = $row['id'];
$name = $row['name'];
$ip = $row['ip'];
$port = $row['port'];
$cheat = $row['cheat'];
$type = $row['type'];
$author = $row['author'];

echo "<div
style=\"display: block;\" class=\"content\"><table style=\"margin: 0pt auto;\"
width=\"280\" height=\"180\"><tbody><tr><td class=\"content\"><div
style=\" border: 1px solid rgb(254,
218, 150); margin: 1px; padding: 1px; text-align: center;\">
<b>$name</b><br>$ip:$port</div>
<center>
<br><table style=\"border-collapse: collapse;\" border=\"1\"
width=\"100%\">
<tbody>
<tr>
<td> <b>Сървър №:</b></td>
<td><span style=\"color: blue;\"><b>$id</b></span></td>
</tr>
<tr>
<td> <b>Мод:</b></td>
<td><span style=\"color: gray;\"><b>$type</b></span></td>
</tr>
<tr>
<td> <b>Anticheat:</b></td>
<td><span style=\"color: red;\"><b>$cheat</b></span></td>
</tr>
</tbody></table>
<br>Изпратен от:<font color=red> $author</font></table>
<div class='hr'</div>";
}

// проверяваме таблицата колко редове има
$query = "SELECT * FROM servers WHERE name LIKE '%$tarsene%'";
$result = mysql_query($query) or die(mysql_error());
$numrows = mysql_num_rows($result);
$maxstranica = ceil($numrows/$broinastranica);

$nomeranastranici = '';

for($stranica = 1; $stranica <= $maxstranica; $stranica++)
{
if ($stranica == $stranicaNum)
{
$nomeranastranici .= " $stranica ";
}
else
{
$nomeranastranici .= " <a href=\"$link&stranica=$stranica\">$stranica</a> ";
}
}



// създаване на ликовете [предишна] [следваща]
// както и линковете [първа] и [последна]


if ($stranicaNum > 1)
{
$stranica = $stranicaNum - 1;
$predishna = "  <a href=\"$link&stranica=$stranica\">".PREDISHNA."</a>  ";

$parva = "  <a href=\"$link?&stranica=1\">".PYRVA."</a>  ";
}
else
{
$predishna = ' ';
$parva = ' ';
}

if ($stranicaNum < $maxstranica)
{
$stranica = $stranicaNum + 1;
$sledvashta = "  <a href=\"$link&stranica=$stranica\">".SLEDVASTA."</a>  ";

$posledna = "  <a href=\"$link&stranica=$maxstranica\">".POSLEDNA."</a>  ";
}
else
{
$sledvashta = ' ';
$posledna = ' ';
}

// показваме
echo "<center>".STRANICA.": $parva $predishna $nomeranastranici $sledvashta $posledna</center>";

?>
 

Back
Горе