Ok wkoncu sie udało zrobi dzielenie na strony newsy :-D ale i tak jest problem :zmieszany:
Problem polega na tym ze mam 12 rekordow z newsami w bazie i powinno mi podzielic na 3 strony po 4 newsy ale wyswietla mi dodatkowpusta podstrone ;/
Jakby co dorzucam strukture bazy danych:
A tu screeny pokazujace probce problem:
Widac w adresie ze to porcja newsow zero
A tu mi robi na porcji 3 - czwarta strone
Gdzie mogłem popelnic blad ??
P.S Czy tu jest ok ?
PHP:
<?
//Ładowaniu pliku konfiguracyjnego bazy danych i połączenie z bazą
include "config.php";
//Ustalenie ilości wyświetlanych newsów na stronie
define('limit_newsow', 4);
$result = "SELECT SQL_CALC_FOUND_ROWS * FROM newsy ORDER BY data DESC, time DESC LIMIT ".mysql_escape_string((int)$_GET['porcja'] *limit_newsow).",".limit_newsow;
//Pobiera ilosc_newsow rekordów z bazy, sortując wg daty rosnąco, zaczynając od $_GET['porcja']*ilosc_newsow
$RES = mysql_query($result); // wykonujemy zapytanie
while($AFR = mysql_fetch_assoc($RES)){
/*Wyświetlanie wyników:*/
$id=''.$AFR['id'].'';
$tytul=''.$AFR['tytul'].'';
$data=''.$AFR['data'].'';
$time=''.$AFR['time'].'';
$tresc_short=''.$AFR['tresc_short'].'';
$tresc_long=''.$AFR['tresc_long'].'';
echo "<link rel=\"Stylesheet\" type=\"text/css\" href=\"css/default.css\">";
echo "<script language=\"javascript\" type=\"text/javascript\">
function rozwin(co){
with(document.getElementById(co)){className=className=='h'?'v':'h';}
}
</script>";
echo "<b>$tytul</b><br>$tresc_short<br>
<div class=\"h\" id=\"$id\">$tresc_long</div>
<a style=\"cursor: pointer\" onclick=\"rozwin('$id')\"><img src=\"img/more.gif\"></a>
Dodano: $data | $time<hr>";
}
//Pobieramy ilosc danych w bazie
$result = "SELECT FOUND_ROWS() as Ilosc";
$RES= mysql_query($result);
list($iloscWpisow) = mysql_fetch_row($RES);
//Nawigacja
//Jeśli nie jesteśmy na pierwszej stronie
if($_GET['porcja']>0){
//Wyswietlamy link do poprzedniej strony
echo '<a href="?porcja='.($_GET['porcja']-1).'">wstecz</a> ';
}
for($i = 0;$i<=floor($iloscWpisow/limit_newsow);$i++){
echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> ';
}
//Jeśli nie jesteśmy na ostatniej stronie
if($_GET['porcja']<floor($iloscWpisow/limit_newsow)){
//Wyświetlamy link do nastepnej strony
echo ' <a href="?porcja='.($_GET['porcja']+1).'">dalej</a>';
}?>
Jakby co dorzucam strukture bazy danych:
PHP:
CREATE TABLE `newsy` (
`id` int(6) NOT NULL auto_increment,
`tytul` varchar(45) NOT NULL default '',
`data` varchar(10) NOT NULL default '',
`time` varchar(8) NOT NULL default '',
`tresc_short` text NOT NULL,
`tresc_long` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`),
KEY `id_2` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;
Widac w adresie ze to porcja newsow zero
A tu mi robi na porcji 3 - czwarta strone
Gdzie mogłem popelnic blad ??
P.S Czy tu jest ok ?
PHP:
//Pobieramy ilosc danych w bazie
$result = "SELECT FOUND_ROWS() as id";
$RES= mysql_query($result);
list($iloscWpisow) = mysql_fetch_row($RES);
Ostatnia edycja: