novi sam u php-u pa se malo pokušavam naučiti neke stvari. Dakle, imam jednostavno bazu za prikaz vijesti koja se sastoji od ID-a, Naslova i Sadrzaja.
Imam skriptu koja mi prikazuje vijesti, i imam skriptu za paging da mi se vijesti iz baze prikazuju razlomljene na nekoliko stranica, ovisno o tome koliko ja definiram da mi se prikazuje vijesti po stranici. I sad, paging se prikazuje ok, odnosno poziva stranice tocno, ali mi se dogadja da mi skripta za samo prikazivanje vijesti ne radi kako treba jer ja ne znam kako da definiram da se recimo na naslovnici prikaze najnovijih 3 vijest, a kada kliknem na stranicu [2] da mi zapamti koje mi je prve 3 vijesti prikazao na onoj prethodnoj (tj. prvoj) stranici i da prikaze slijedeće 3. Da li mi netko može sugerirati kako d ato riješim? Evo koda koji mi sve odrađuje:
vijesti.php:
Code:
<?php
$db=mysql_connect ("mysql2.avalon.hr", "username", "nekipass") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("nekabaza");
$prikazi=@mysql_query('SELECT * FROM vijesti ORDER BY ID DESC LIMIT 3');
if (!$prikazi){
echo ('<p>Sranje u Ruandi...: ' . mysql_error() . '</p>'); }
// Cupaj vijesti iz baze:
while ( $row = mysql_fetch_array($prikazi)){
echo ('<p>'. 'Naslov:' . '<b>'.$row['Naslov'].'</b>'.'<br />'.'Sadržaj:'.'<i>'.nl2br($row['Sadrzaj']).'</i>'.'</p>');}
include ('paging.php');
$first = " <a href=\"$self?stranica=1\">[Prva]</a> ";
?>
<?php
$db=mysql_connect ("mysql2.avalon.hr", "username", "nekipass") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("nekabaza");
$prikazi=@mysql_query('SELECT * FROM vijesti ORDER BY ID DESC LIMIT 3');
if (!$prikazi){
echo ('<p>Sranje u Ruandi...: ' . mysql_error() . '</p>'); }
// Cupaj vijesti iz baze:
while ( $row = mysql_fetch_array($prikazi)){
echo ('<p>'. 'Naslov:' . '<b>'.$row['Naslov'].'</b>'.'<br />'.'Sadržaj:'.'<i>'.nl2br($row['Sadrzaj']).'</i>'.'</p>');}
include ('paging.php');
$first = " <a href=\"$self?stranica=1\">[Prva]</a> ";
?>
A evo i paging.php-a:
Code:
<?php
$db=mysql_connect ("mysql2.avalon.hr", "username", "nekipass") or die ('Paging: I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("nekabaza");
// koliko redaka prikazujemo
$rowsPerPage = 3;
// po defaultu zelim da mi prikazuje prvu stranicu
$pageNum = 1;
// ako je definiran $_GET['stranica'] koristi ga kao broj stranice
if(isset($_GET['stranica']))
{
$pageNum = $_GET['stranica'];
}
// brojim offset
$offset = ($pageNum - 1) * $rowsPerPage;
$query = "SELECT ID FROM vijesti LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Greska');
while($row = mysql_fetch_array($result))
{
echo $row['val'] . '<br>';
}
// koliko imam zapisa
$query = "SELECT COUNT(ID) AS numrows FROM vijesti";
$result = mysql_query($query) or die('Greska');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
// koliko imam stranica kad koristim paging
$maxPage = ceil($numrows/$rowsPerPage);
// isprintaj link za pristup svakoj od stranica
$self = $_SERVER['PHP_SELF'];
$nav = '';
for($stranica = 1; $stranica <= $maxPage; $stranica++)
{
if ($stranica == $pageNum)
{
$nav .= " $stranica "; // nema potrebe kreirati link za trenutnu stranicu
}
else
{
$nav .= " <a href=\"$self?stranica=$stranica\">$stranica</a> ";
}
}
//kreiram linkove za slijedecu i prethodnu stranicu i za pocetnu i posljednju
if ($pageNum > 1)
{
$stranica = $pageNum - 1;
$prev = " <a href=\"$self?stranica=$stranica\"><<</a> ";
$first = " <a href=\"$self?stranica=1\">[Prva]</a> ";
}
else
{
$prev = ' '; // na prvoj sam stranici, nemoj prikazivati link za prethodnu
$first = ' '; // niti link za prvu stranicu
}
if ($pageNum < $maxPage)
{
$stranica = $pageNum + 1;
$next = " <a href=\"$self?stranica=$stranica\">>></a> ";
$last = " <a href=\"$self?stranica=$maxPage\">[Posljednja]</a> ";
}
else
{
$next = ' '; // na zadnjoj sam stranici, nemoj prikazivati link za slijedecu
$last = ' '; // niti za posljednju
}
// prikazi navigaciju za stranice
echo $first . $prev . $nav . $next . $last;
?>
<?php
$db=mysql_connect ("mysql2.avalon.hr", "username", "nekipass") or die ('Paging: I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("nekabaza");
// koliko redaka prikazujemo
$rowsPerPage = 3;
// po defaultu zelim da mi prikazuje prvu stranicu
$pageNum = 1;
// ako je definiran $_GET['stranica'] koristi ga kao broj stranice
if(isset($_GET['stranica']))
{
$pageNum = $_GET['stranica'];
}
// brojim offset
$offset = ($pageNum - 1) * $rowsPerPage;
$query = "SELECT ID FROM vijesti LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Greska');
while($row = mysql_fetch_array($result))
{
echo $row['val'] . '<br>';
}
// koliko imam zapisa
$query = "SELECT COUNT(ID) AS numrows FROM vijesti";
$result = mysql_query($query) or die('Greska');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
// koliko imam stranica kad koristim paging
$maxPage = ceil($numrows/$rowsPerPage);
// isprintaj link za pristup svakoj od stranica
$self = $_SERVER['PHP_SELF'];
$nav = '';
for($stranica = 1; $stranica <= $maxPage; $stranica++)
{
if ($stranica == $pageNum)
{
$nav .= " $stranica "; // nema potrebe kreirati link za trenutnu stranicu
}
else
{
$nav .= " <a href=\"$self?stranica=$stranica\">$stranica</a> ";
}
}
//kreiram linkove za slijedecu i prethodnu stranicu i za pocetnu i posljednju
if ($pageNum > 1)
{
$stranica = $pageNum - 1;
$prev = " <a href=\"$self?stranica=$stranica\"><<</a> ";
$first = " <a href=\"$self?stranica=1\">[Prva]</a> ";
}
else
{
$prev = ' '; // na prvoj sam stranici, nemoj prikazivati link za prethodnu
$first = ' '; // niti link za prvu stranicu
}
if ($pageNum < $maxPage)
{
$stranica = $pageNum + 1;
$next = " <a href=\"$self?stranica=$stranica\">>></a> ";
$last = " <a href=\"$self?stranica=$maxPage\">[Posljednja]</a> ";
}
else
{
$next = ' '; // na zadnjoj sam stranici, nemoj prikazivati link za slijedecu
$last = ' '; // niti za posljednju
}
// prikazi navigaciju za stranice
echo $first . $prev . $nav . $next . $last;
?>
Što radim krivo? Barem link na neku referencu bi molio...
Tnx unaprijed svima koji pomognu...