Странициране- нестава и нестава

cmivanov

Registered
Извинявам се много ;(
някой може ли да ми направи странициране на този код
Код:
<?
$query = " SELECT * FROM f WHERE email='$email' and  status='1'";

$result = mysql_query($query) or die('Error, query failed');
while($row = mysql_fetch_array($result))
{

$url = $row['url'];
echo "$url"
}
Искам да изкарва по 10 резултата на страница и да са подредени отзад напред. На първата страница да изкарва последните записани резултати.
Вече 2 часа се мъча, четох тука из форума, прилагах неще и неще.
 
Код:
<?
$broinastranica = 10;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `f`";
$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 = mysql_query("SELECT * FROM f WHERE email='$email' and  status='1' ASC LIMIT $redove, $broinastranica") or die(mysql_error());

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

$url = $row['url'];
echo "$url"
}	
	echo "<font color = '#000' />Страница: </font>";
echo "<font color = '#000' />$nomeranastranici</font>";
?>
 
Код:
<?php
$broinastranica = 10; 
$pageNum = 1; 
if(isset($_GET['page'])) { 
$pageNum = $_GET['page']; 
} 
$redove = ($pageNum - 1) * $broinastranica; 
$query = " SELECT * FROM f WHERE email='$email' and  status='1' DESC LIMIT $redove, $broinastranica"; 
$result = mysql_query($query) or die('Error, query failed');
while($row = mysql_fetch_array($result))
{
$url = $row['url'];
echo "$url"
}
$query = "SELECT COUNT(id) AS numrows FROM f"; 
$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 .= "<div class=\"stranicirane\"><span> $page</span></div> "; 
} 
else 
{ 
$nomeranastranici .= " <div class=\"stranicirane\"><a href=\"$self?page=$page\">$page</a></div> "; 
} 
} 
if ($pageNum > 1) 
{ 
$page = $pageNum - 1; 
$predishna = " <div class=\"stranicirane\"><a href=\"$self?page=$page\"><<</a></div>"; 
} 
else 
{ 
$predishna = ' '; 
$parva = ' '; 
} 
if ($pageNum < $maxPage) 
{ 
$page = $pageNum + 1; 
$sledvashta = "<div class=\"stranicirane\"><a href=\"$self?page=$page\">>></a></div> "; 
} 
else 
{ 
$sledvashta = ' '; 
$posledna = ' '; 
} 
echo $parva . $predishna . $nomeranastranici . $sledvashta . $posledna; 
?>
 
изкара ми този еррор

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC LIMIT 0, 10' at line 1
 
Код:
			      	 <?
$broinastranica = 10;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `f`";
$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 = mysql_query("SELECT * FROM `f` WHERE `email` = '$email' AND  `status` = '1' ASC LIMIT '$redove', '$broinastranica'") or die(mysql_error());

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

$url = $row['url'];
echo "$url"
}   
   echo "<font color = '#000' />Страница: </font>";
echo "<font color = '#000' />$nomeranastranici</font>";
?>
 
при скрипта на дава slideR Error, query failed
а при двата скрипта на justspy дава

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC LIMIT 0, 10' at line 1
 
<?php
$broinastranica = 10;
$pageNum = 1;
if(isset($_GET['page']))
{
$pageNum = $_GET['page'];
}
$redove = ($pageNum - 1) * $broinastranica;

$query = "SELECT COUNT(id) AS numrows FROM `f`";
$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 = mysql_query("SELECT * FROM `f` WHERE `email` = '$email' AND `status` = '1' ASC LIMIT '$redove', '$broinastranica'") or die(mysql_error());

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

$url = $row['url'];
echo "$url"
}
echo "<font color = '#000' />Страница: </font>";
echo "<font color = '#000' />$nomeranastranici</font>";
?>
 
Използвах кода от този урок: Показване на резултатите от заявката на различни страници

<?php
$user=""; //user на базата данни
$password=""; //pass на базата данни
$database=""; //име на базата данни
mysql_connect(localhost,$user,$password);
mysql_select_db($database) or die( "Unable to select database");

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

$broinastranica = 10;

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

$pageNum = 1;

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

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

$redove = ($pageNum - 1) * $broinastranica;

$query = " SELECT * FROM f WHERE email='$email' and status='1' ORDER BY id DESC LIMIT $redove, $broinastranica";

$result = mysql_query($query) or die('Error, query failed');
while($row = mysql_fetch_array($result))
{

$url = $row['url'];
echo "$url"
}

// проверяваме таблицата колко редове има
$query = "SELECT COUNT(id) AS numrows FROM f WHERE email='$email' and status='1'";
$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_Masters изкарва
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC LIMIT '0', '10'' at line 1
 

Back
Горе