MOniToR
14.01.2005, 17:55:50
Szukałem na forum, jednak nie potrafiłem tego odpowiednio wykorzystać. Obecne mam takie porcjowanie:
<?php
$porcja=10;
$wiersz=0+$dawka;
$sqlcmt = \"select * from comments where art_id='$id' AND type_id='$type_id' ORDER BY comment_id limit $wiersz, $porcja\";
$sql1 = \"select * from comments where art_id='$id' AND type_id='$type_id'\";
$r=$wiersz-$porcja;
$f=$wiersz+$porcja;
if($r >= 0){
echo \"( <a href=$strona&dawka=$r>Poprzednia strona</a> ) \"; }
if($f < $vol){
echo \"( <a href=$strona&dawka=$f>Nastepna strona</a> )\"; }
?>
Chciałbym aby wyświetlała mi się lista stron( 1 2 3 itd.) . Jak to zrobić? ;> Prosze o pomoc.
Kuziu
14.01.2005, 18:03:47
<?php
$per_page // ile newsów na 1 stronie
$sql =\"SELECT count(news_id) FROM news\";
$result =@mysql_query($sql,$connection) or
die(\"Wykonanie zapytania niepowiodło się\");
$all=ceil($ilosc/$per_page); echo(\"Przejdź do strony:<br>\"); for($i=0;$i<$all;$i++){
$tmp=$i+1;
echo(\"<a href='index.php?page=$tmp'> $tmp </a>\"); }
?>
MOniToR
14.01.2005, 18:06:39
co robi count() ? i co zawiera $i ? Bo musze przecierz jeszcze pobrać dane z bazy ;X
Kuziu
14.01.2005, 18:07:59
zlicza ilość wpisów w tabeli ... w tym wypadku ilość newsów ...
MOniToR
14.01.2005, 18:08:59
No to fajnie zlicza mi ale jak mam zrobić aby mi wyśiwietliło okreslone dane?
Kuziu
14.01.2005, 18:11:55
określone tzn.
Indianin
14.01.2005, 18:51:31
Mysle ze chodzi a tresc newsow itp .
kramot
14.01.2005, 19:55:23
Postanowilem dolaczyc sie do pytania. Kod uzytkownika KUZIU znakomicie dzieli ilosc wynikow zapytania przez $per_page i wyswietla linki do podzielonych stron.
Moje pytanie jest nastepujace: Jak sprawic zeby wyciagniete z bazy dane wyswietlaly sie na stronie w danej ilosci ($per_page)?
Probowalem z petla while ale moje proby spelzly na niczym dlatego pisze. Wielkie dzieki za pomoc. Pozdrawiam.
MOniToR
14.01.2005, 21:58:06
Cytat(Kuziu @ 2005-01-14 19:11:55)
określone tzn.

np. dane z 4 strony. Stronnicowanie jest mi potrzebne w systemie komentarzy.
Kuziu
15.01.2005, 12:34:38
<?php
if(!$page){$page=0;}else{$page--;} // Jeśli nie zostala określona strona to wyświetl pierwszą (zerową) jeśli jest to $page=$page-1;
$od=$page*$per_page; // od ktorego news'a zacząć = strona*ilosc_na_stronie
$sql=\"SELECT * FROM news ORDER by time DESC LIMIT $od,$per_page\";
$result =@mysql_query($sql,$connection) or
die(\"Wykonanie zapytania niepowiodło się\");
$news_id = $row['news_id'];
$autor = $row['autor'];
// i tak dalej pobierając wszystkie dane ...
echo(\"Treść newsów/komentarzy\"); // Wyświetlanie }
?>
Kermit
16.01.2005, 19:09:43
<?php
include(\"connect.php\");
if (!$ok) die(\"dupfffa\");
if(!$page){$page=0;}else{$page--;} // Jeśli nie zostala określona strona to wyświetl pierwszą (zerową) jeśli jest to $page=$page-1;
$per_page=2;
$od=$page*$per_page; // od ktorego news'a zacząć = strona*ilosc_na_stronie
$sql=\"SELECT tytul, data FROM news ORDER by data DESC LIMIT $od,$per_page\";
$result=@mysql_query($sql) or
die(\"Wykonanie zapytania niepowiodło się\");
echo (\"$row[tytul]<BR> $row[data]<br>\"); // Wyświetlanie }
$sql1=\"SELECT count(id) FROM news ORDER by data DESC LIMIT $od,$per_page\";
$result1=@mysql_query($sql1) or
die(\"Wykonanie zapytania niepowiodło się\"); $all=ceil($ilosc/$per_page); echo(\"Przejdź do strony:<br>\"); for($i=0;$i<$all;$i++){
$tmp=$i+1;
echo(\"<a href='przekier.php?page=$tmp'> $tmp </a>\"); }
?>
Mam taki skrypt. Dzieli mi on newsy na 4 strony, lecz obojętnie na którą wejdę zawsze mam te same :/. Co jest źle?
Kermit.
Kuziu
16.01.2005, 20:57:38
a zobacz czy zmienna $page ma jakąś wartość ... może musisz użyć
<?php
$page = $_GET['page'];
?>
Kermit
16.01.2005, 21:04:57
Dzięki działa

.
Kermit.
MOniToR
17.01.2005, 14:43:43
A mi nie do końca działa :/ Lista stron pojawia mi sie tylko na pierwszej stronie, na pozostałych mam napis 'przejdz do strony' ale bez linków do stron :/
// to pomoże mi ktoś? co jest w tym złego, że wysietla mi liste tylko an pierwszej stronie? :
<?php
$sql1 = \"select count(comment_id) from comments where art_id='$id' AND type_id='$type_id' ORDER BY comment_id LIMIT $od,$per_page\";
$result1=mysql_query($sql1) or
die(\"Wykonanie zapytania niepowiodło się\"); $ilosc =mysql_result($result1,0,\"count(comment_id)\"); $all=ceil($ilosc/$per_page); print(\"<p align=\"center\">\"); echo(\"Przejdź do strony:<br>\");
for($i=0;$i<$all;$i++){
$tmp=$i+1;
echo(\"<a href=\"$strona&page=$tmp\"> $tmp </a>\"); }
?>
Guest
3.02.2005, 12:57:59
Sorry że odświerzam, ale ten skrypt mi jest bardzo potrzebny a mam ten sam problem co MOniToR. Na pierwszej stronie jest wszystko ok, a na drógiej tez mi sie wyświetlają rekordy z bazy, ale linków do podstron juz nie ma a na ich miejsce pojawił się błąd:
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 10 in C:\Program Files\WebServ\httpd-users\mycms\include\hehe.php on line 50
a linia 50 wygląda tak:
$ilosc =mysql_result($result1,0,"count(id)");
Pozdrawiam
level
Kuziu
3.02.2005, 22:00:37
BO nie masz nic w bazie danych ...
level
3.02.2005, 22:42:07
No problem był właśni w tym że miałem...
Jednak problem już rozwiązałem, linika :
$sql1="SELECT count(id) FROM news ORDER by data DESC LIMIT $od,$per_page";
powinnna wyglądać tak:
$sql1="SELECT count(id) FROM news ORDER by data DESC";
Pozdrawiam
level
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.