Ĺadny brzuch
Witam, cały czas staram sobie poradzić wprowadzić stronnicowanie (dzielenie na strony) w moim projekcie bazo-danowym opartym na bazie "PostgreSQL" ale nie daję sobie rady, próbowałem na tablicach ale coś nie wychodzi, poniżej podaję kod. Może ktoś pomóc z wprowadzeniem tego do mojego projektu? Najpierw pobieram dane z bazy zapytaniem 'SELECT * FROM ludzie' i dostaje wynik np 30 osob i jak zrobić podział np na 10 osób przypadające na jedną strone.
//Zapytanie do bazy danych, { $res = pg_query($conn, 'SELECT id, nazwisko, imie, id_stanowiska, nr_ewid FROM osoby_data WHERE time_del is NULL ORDER BY nazwisko, imie, id_stanowiska'); } // Tabela { $count=pg_num_rows($res); print '<BR>'; print '<center>'; print '<TABLE BGCOLOR="#90C0F0" border="4" cellpadding="15" cellspacing="1">'; print '<TR><TH colspan="5" scope="colgroup">Lista Osób</TH></TR>'; print '<TH scope="col">Pełne Dane</TH>'; print '<TH scope="col">Nazwisko</TH>'; print '<TH scope="col">Imie</TH>'; print '<TH scope="col">Stanowisko</TH>'; print '<TH scope="col">Nr. Ewidencyjny</TH>'; for ($x=0;$x<$count;$x++) { // Tabela wraz z pobranymi danymi print '<TR><td><A href="osoba.php?id='.pg_fetch_result($res,$x,'id').'">Szczegóły< /A></td>'; print '<td>'.pg_fetch_result($res,$x,'nazwisko').'</td> '; print '<td>'.pg_fetch_result($res,$x,'imie').'</td>' ; print '<td>'.pg_fetch_result($res,$x,'id_stanowiska').'</ td>'; print '<td>'.pg_fetch_result($res,$x,'nr_ewid').'</td> '; print '</tr>'; } print '</table>'; print '</center>'; }
daj LIMIT i będzie po problemie :) W MySQL ma on dwa parametry - od którego do którego :)
daj LIMIT i będzie po problemie :) W MySQL ma on dwa parametry - od którego do którego :)
<?php echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\" /></head><body background=gfx/bg.png>"; include("cxhost.php"); $sortedby=$_GET['sortedby']; $showstats = $_GET['showstats']; $od_t = $_GET['od']; $od = 0; if (empty($od_t)==false) $od = $od + $od_t; $connect = mysql_connect($cxhost,$cxlogin,$cxpassword); mysql_select_db($cxdbname); $do = 100; if ($sortedby=="") $zapytanie = "SELECT * FROM cxlicznik LIMIT $od,$do"; if ($sortedby=="data") $zapytanie = "SELECT * FROM cxlicznik ORDER BY data DESC"; if ($sortedby=="browser") $zapytanie = "SELECT * FROM cxlicznik ORDER BY info1"; if ($sortedby=="frompage") $zapytanie = "SELECT * FROM cxlicznik ORDER BY info3"; if ($sortedby=="visitedpage") $zapytanie = "SELECT * FROM cxlicznik ORDER BY info4"; $kk = "SELECT * FROM cxlicznik"; $kkk = mysql_query($kk); $r = mysql_query($zapytanie); $ile = mysql_num_rows($r); $ile_t = mysql_num_rows($kkk); for ($i=0;$i<5;$i++) { $strony[$i]=0; $przeg[$i]=0; } $npage[0]="cryptx.php"; $npage[1]="download.php"; $npage[2]="wtyczki.php"; $npage[3]="kontakt.php"; $npage[4]="linki.php"; $nbrowser[0]="ie"; $nbrowser[1]="opera"; $nbrowser[2]="firefox"; $nbrowser[3]="Inne"; $opis_browser[0]="Microsoft Internet Explorer"; $opis_browser[1]="Opera Browser"; $opis_browser[2]="Mozilla Firefox"; $opis_browser[3]="Inne przegl±darki"; $h=0; $acprzeg[0]=""; while ($c = mysql_fetch_array($kkk)) { $h++; $o=0; for ($i=0;$i<5;$i++) { if ($npage[$i]==strtolower($c['info4'])) { $strony[$i]++; break; } } $o=0; for ($i=2;$i>=0;$i--) { if (strpos(strtolower($c['info1']),$nbrowser[$i]) !=0) { $przeg[$i]++; $o=1; $acprzeg[$h]=$opis_browser[$i]; break; } } if ($o==0) {$acprzeg[$h]="Inna"; $przeg[3]++; } } $szer=600; echo("<table width=950 border=1 bordercolor=#c1d7e9 cellspacing=0 cellpadding=3>"); echo"<tr><td bgcolor=#acc7e0 height=10></td></tr>"; echo"<tr><td valign=middle bgcolor=#ffffff>"; echo"<font size = 1 face=Verdana color=#666666>"; if (($showstats=="") || ($showstats=="tak")) { echo"<b>Najczę¶ciej używane przegl±darki: </b><br>"; for ($i=1;$i<5;$i++) { if ($przeg[$i-1]==0) continue; echo"<img src=gfx/k".$i.".png width=".(round($szer*$przeg[$i-1]/$ile_t))." height=16>"; } echo"<br><br>"; for ($i=1;$i<5;$i++) { if ($przeg[$i-1]==0) continue; echo"<img src=gfx/k".$i.".png width=32 height=16 align=middle> - ".$opis_browser[$i-1]." (".$przeg[$i-1].")<br>"; } echo"<br><br>"; echo"<b>Najczę¶ciej odwiedzane strony: </b><br>"; for ($i=1;$i<6;$i++) { if ($strony[$i-1]==0) continue; echo"<img src=gfx/k".$i.".png width=".(round($szer*$strony[$i-1]/$ile_t))." height=16>"; } echo"<br><br>"; for ($i=1;$i<6;$i++) { if ($strony[$i-1]==0) continue; echo"<img src=gfx/k".$i.".png width=32 align=middle height=16> - ".$npage[$i-1]." (".$strony[$i-1].")<br>"; } echo"<br>";} if ($showstats=="") echo"<font size=1 face=Verdana color=#777777><a href=\"showvisits.php?sortedby=$sortedby&showstats=nie\">Ukryj statystyki <-</a></font>"; if ($showstats=="nie") echo"<font size=1 face=Verdana color=#777777><a href=\"showvisits.php?sortedby=$sortedby&showstats=tak\">Pokaż statystyki -></a></font>"; if ($showstats=="tak") echo"<font size=1 face=Verdana color=#777777><a href=\"showvisits.php?sortedby=$sortedby&showstats=nie\">Ukryj statystyki <-</a></font>"; echo"</td></tr>"; echo"<tr><td bgcolor=#acc7e0 height=10></td></tr>"; echo"</table>"; $r = mysql_query($zapytanie); $ile = mysql_num_rows($r); echo "<div align=left>"; $t=(int)($ile_t/100); echo "<br><font face=Verdana size=2 color=#0000ff>"; for ($i=0;$i<$t+1;$i++) { $o = (int)($i*100); $n=(int)$i+1; echo "<a href=showvisits.php?od=$o&sortedby=$sortedby&showstats=$showstats>$n< /a> "; } echo"</font><br><br>"; //echo "<font size=2 color=#333333 face=Verdana>Liczba wizyt: ".$ile."<br><br></font>"; echo("<table width=950 border=1 bordercolor=#c1d7e9 cellspacing=0 cellpadding=3>"); echo("<tr height=20>"); echo "<td bgcolor = #acc7e0 height=20><font color=#ffffff size=1 face=Verdana><b>Lp.</b></font></td>"; echo "<td bgcolor = #acc7e0 height=20 width=100><font color=#ffffff size=1 face=Verdana><b><a href=\"showvisits.php?sortedby=data&showstats=$showstats\">Data:< /a></b></font></td>"; echo "<td bgcolor = #acc7e0><font color=#ffffff size=1 face=Verdana ><b><a href=\"showvisits.php?sortedby=browser&showstats=$showstats\">Przegl± darka:</a></b></font></td>"; echo "<td bgcolor = #acc7e0><font color=#ffffff size=1 face=Verdana><b><a href=\"showvisits.php?sortedby=frompage&showstats=$showstats\">Ze strony:</a></b></font></td>"; echo "<td bgcolor = #acc7e0><font color=#ffffff size=1 face=Verdana><b><a href=\"showvisits.php?sortedby=visitedpage&showstats=$showstats\">Odwiedzona strona:</a></b></font></td>"; echo("</tr>"); $i=0; while ($c=mysql_fetch_array($r)) { $z=(int)$od; $i++; $id = $i+$z; echo "<td bgcolor=#ffffff><font color=#666666 size=1 face=Verdana><b>".$id.".</b></font></td>"; $t = $c['data']; if ($t=='') $t = "- brak -"; echo "<td width=180 bgcolor=#ffffff><font color=#666666 size=1 face=Verdana>".$t."</font></td>"; $t = $acprzeg[$i]; if ($t=='') $t = "- brak -"; echo "<td width=280 bgcolor=#ffffff><font color=#888888 size=1 face=Verdana>".$t."</font></td>"; $t = $c['info3']; if ($t=='') $t = "- brak -"; echo "<td bgcolor=#ffffff><font color=#888888 size=1 face=Verdana>".$t."</font></td>"; $t = $c['info4']; if ($t=='') $t = "- brak -"; echo "<td bgcolor=#ffffff><font color=#666666 size=1 face=Verdana><a href=".$t.">".$t."</a></font></td>"; echo "</tr>"; } echo("</table>"); echo"</div>"; echo"<br><div align=center><font size=1 color=#888888 face=Verdana>Copyright (c) 2006 - Rafał Krajewski [<a href=mailto:krajew4@wp.pl>krajew4@wp.pl</a>]</font></div>"; echo"</html>"; mysql_close($connect); ?>
http://krajew4.ovh.org/showvisits.php - statsy odwiedzin mojej strony, mają podzielone na strony tak jak chcesz, popatrz, mam nadzieję, że ci się przyda ;)
AL możesz dac zdaje sie LIMIT 5,7 i wyświetli od 5 do 7
No niestety wszystkie próby kończą się fiaskiem, poniżej złożyłem kod który powinień mi stronnicować ale wogóle nie wyświetla rekordów.
error_reporting(0); $conn = pg_connect("host=127.0.0.1 port=5432 dbname=osoby user=test password=test"); if (!$conn) {echo "Nie udalo sie polaczyc z baza danych. \n"; exit;} { $ON_PAGE = 5; //liczba wyświetleń na stronie $res = pg_query ($conn, 'SELECT COUNT(id) FROM ludzie'); $all_records = pg_fetch_row ($res, 0); //wszystkie rekordy $num_all_pages = $all_records/$ON_PAGE; //liczba stron $start = $_GET['page'] * $ON_PAGE; //poniżej jest nawigacja i zmienna $_GET['page'] } //Zapytanie do bazy danych, { $res = pg_query($conn, 'SELECT nazwisko, imie FROM ludzie LIMIT ' . $start . ',' . $ON_PAGE); } //Pasek nawigacji for($i=0; $i<$num_all_pages; $i++) { echo '<a href="index.php3?page='.$i.'">'.$i.'</a> | '; } // Tabela { $count=pg_num_rows($res); print '<BR>'; print '<center>'; print '<TABLE BGCOLOR="#90C0F0" border="4" cellpadding="15" cellspacing="1">'; print '<TR><TH colspan="5" scope="colgroup">Lista Osób</TH></TR>'; print '<TH scope="col">Nazwisko</TH>'; print '<TH scope="col">Imie</TH>'; for ($x=0;$x<$count;$x++) { // Tabela wraz z pobranymi danymi print '<TR><td>'.pg_fetch_result($res,$x,'nazwisko').' </td>'; print '<td>'.pg_fetch_result($res,$x,'imie').'</td>' ; print '</tr>'; } print '</table>'; print '</center>'; }
Ja to zrobiłem u sibie tak (nie komentwoałem kodu, dawno pisany - teraz sam już nie wiem o co chodzi i jak to działa ^_^ ):
//zmienna odbierana przez GET dla poczatku przykladowo: //www.strona.pl/plik.php?start=1 $start = $_GET['start']; {funkcja oblicza ile ma byc stron -> po 20 na strone} function stron($count) { if ($count <= 20) { //jesli ilosc < 20 to jest jedna strona return 1; } else { if($count%20==0) { //jesli ilosc jest idealnie podzilena przez 20 to wynikiem ilosci stron jest ilosc/20 return ($count/20); } else { return (ceil($count/20)); //ujesli jest reszta to zaokraglamy } } } $rekord = mysql_query('select * from ludzie;'); //zapytanko $result = mysql_fetch_array($rekord); $ilosc = mysql_num_rows($rekord); //petelka wyswietli wyniki na jednej stronie for ( $i = $start; $i <= $ilosc; $i = $i + 2) { $x = $i+1; //nie pamietam po co tego uzywalem if($x > $start+20) { //pamietamy - 20 na strone continue; } echo $result['nazwa_pola']; //pokazujemy if($x > $ilosc) { continue; } } {na dole dodajmy spis stron $strony = stron($ilosc); //ile stron? $start = 1; //liczymy od poczatku $tekst = ''; //bedzie zawierac tekst z linkami for ($i = 0; $i < $strony; $i++) { $tekst .= '<a herf="plik.php?start='.$start.'">'.($i+1).'</a> '; $start = $start + 20; //po 20 na strone } echo 'Idz do strony: '.$tekst;
Dziś moje rozwiązanie wydaje się mi sie wynajdywaniem koła od nowa, ale działało :)
Użytkownik p1101 edytował ten post 12 lipiec 2006, 11:39
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
//Zapytanie do bazy danych, { $res = pg_query($conn, 'SELECT id, nazwisko, imie, id_stanowiska, nr_ewid FROM osoby_data WHERE time_del is NULL ORDER BY nazwisko, imie, id_stanowiska'); } // Tabela { $count=pg_num_rows($res); print '<BR>'; print '<center>'; print '<TABLE BGCOLOR="#90C0F0" border="4" cellpadding="15" cellspacing="1">'; print '<TR><TH colspan="5" scope="colgroup">Lista Osób</TH></TR>'; print '<TH scope="col">Pełne Dane</TH>'; print '<TH scope="col">Nazwisko</TH>'; print '<TH scope="col">Imie</TH>'; print '<TH scope="col">Stanowisko</TH>'; print '<TH scope="col">Nr. Ewidencyjny</TH>'; for ($x=0;$x<$count;$x++) { // Tabela wraz z pobranymi danymi print '<TR><td><A href="osoba.php?id='.pg_fetch_result($res,$x,'id').'">Szczegóły< /A></td>'; print '<td>'.pg_fetch_result($res,$x,'nazwisko').'</td> '; print '<td>'.pg_fetch_result($res,$x,'imie').'</td>' ; print '<td>'.pg_fetch_result($res,$x,'id_stanowiska').'</ td>'; print '<td>'.pg_fetch_result($res,$x,'nr_ewid').'</td> '; print '</tr>'; } print '</table>'; print '</center>'; }
daj LIMIT i będzie po problemie :) W MySQL ma on dwa parametry - od którego do którego :)
daj LIMIT i będzie po problemie :) W MySQL ma on dwa parametry - od którego do którego :)

<?php echo "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-2\" /></head><body background=gfx/bg.png>"; include("cxhost.php"); $sortedby=$_GET['sortedby']; $showstats = $_GET['showstats']; $od_t = $_GET['od']; $od = 0; if (empty($od_t)==false) $od = $od + $od_t; $connect = mysql_connect($cxhost,$cxlogin,$cxpassword); mysql_select_db($cxdbname); $do = 100; if ($sortedby=="") $zapytanie = "SELECT * FROM cxlicznik LIMIT $od,$do"; if ($sortedby=="data") $zapytanie = "SELECT * FROM cxlicznik ORDER BY data DESC"; if ($sortedby=="browser") $zapytanie = "SELECT * FROM cxlicznik ORDER BY info1"; if ($sortedby=="frompage") $zapytanie = "SELECT * FROM cxlicznik ORDER BY info3"; if ($sortedby=="visitedpage") $zapytanie = "SELECT * FROM cxlicznik ORDER BY info4"; $kk = "SELECT * FROM cxlicznik"; $kkk = mysql_query($kk); $r = mysql_query($zapytanie); $ile = mysql_num_rows($r); $ile_t = mysql_num_rows($kkk); for ($i=0;$i<5;$i++) { $strony[$i]=0; $przeg[$i]=0; } $npage[0]="cryptx.php"; $npage[1]="download.php"; $npage[2]="wtyczki.php"; $npage[3]="kontakt.php"; $npage[4]="linki.php"; $nbrowser[0]="ie"; $nbrowser[1]="opera"; $nbrowser[2]="firefox"; $nbrowser[3]="Inne"; $opis_browser[0]="Microsoft Internet Explorer"; $opis_browser[1]="Opera Browser"; $opis_browser[2]="Mozilla Firefox"; $opis_browser[3]="Inne przegl±darki"; $h=0; $acprzeg[0]=""; while ($c = mysql_fetch_array($kkk)) { $h++; $o=0; for ($i=0;$i<5;$i++) { if ($npage[$i]==strtolower($c['info4'])) { $strony[$i]++; break; } } $o=0; for ($i=2;$i>=0;$i--) { if (strpos(strtolower($c['info1']),$nbrowser[$i]) !=0) { $przeg[$i]++; $o=1; $acprzeg[$h]=$opis_browser[$i]; break; } } if ($o==0) {$acprzeg[$h]="Inna"; $przeg[3]++; } } $szer=600; echo("<table width=950 border=1 bordercolor=#c1d7e9 cellspacing=0 cellpadding=3>"); echo"<tr><td bgcolor=#acc7e0 height=10></td></tr>"; echo"<tr><td valign=middle bgcolor=#ffffff>"; echo"<font size = 1 face=Verdana color=#666666>"; if (($showstats=="") || ($showstats=="tak")) { echo"<b>Najczę¶ciej używane przegl±darki: </b><br>"; for ($i=1;$i<5;$i++) { if ($przeg[$i-1]==0) continue; echo"<img src=gfx/k".$i.".png width=".(round($szer*$przeg[$i-1]/$ile_t))." height=16>"; } echo"<br><br>"; for ($i=1;$i<5;$i++) { if ($przeg[$i-1]==0) continue; echo"<img src=gfx/k".$i.".png width=32 height=16 align=middle> - ".$opis_browser[$i-1]." (".$przeg[$i-1].")<br>"; } echo"<br><br>"; echo"<b>Najczę¶ciej odwiedzane strony: </b><br>"; for ($i=1;$i<6;$i++) { if ($strony[$i-1]==0) continue; echo"<img src=gfx/k".$i.".png width=".(round($szer*$strony[$i-1]/$ile_t))." height=16>"; } echo"<br><br>"; for ($i=1;$i<6;$i++) { if ($strony[$i-1]==0) continue; echo"<img src=gfx/k".$i.".png width=32 align=middle height=16> - ".$npage[$i-1]." (".$strony[$i-1].")<br>"; } echo"<br>";} if ($showstats=="") echo"<font size=1 face=Verdana color=#777777><a href=\"showvisits.php?sortedby=$sortedby&showstats=nie\">Ukryj statystyki <-</a></font>"; if ($showstats=="nie") echo"<font size=1 face=Verdana color=#777777><a href=\"showvisits.php?sortedby=$sortedby&showstats=tak\">Pokaż statystyki -></a></font>"; if ($showstats=="tak") echo"<font size=1 face=Verdana color=#777777><a href=\"showvisits.php?sortedby=$sortedby&showstats=nie\">Ukryj statystyki <-</a></font>"; echo"</td></tr>"; echo"<tr><td bgcolor=#acc7e0 height=10></td></tr>"; echo"</table>"; $r = mysql_query($zapytanie); $ile = mysql_num_rows($r); echo "<div align=left>"; $t=(int)($ile_t/100); echo "<br><font face=Verdana size=2 color=#0000ff>"; for ($i=0;$i<$t+1;$i++) { $o = (int)($i*100); $n=(int)$i+1; echo "<a href=showvisits.php?od=$o&sortedby=$sortedby&showstats=$showstats>$n< /a> "; } echo"</font><br><br>"; //echo "<font size=2 color=#333333 face=Verdana>Liczba wizyt: ".$ile."<br><br></font>"; echo("<table width=950 border=1 bordercolor=#c1d7e9 cellspacing=0 cellpadding=3>"); echo("<tr height=20>"); echo "<td bgcolor = #acc7e0 height=20><font color=#ffffff size=1 face=Verdana><b>Lp.</b></font></td>"; echo "<td bgcolor = #acc7e0 height=20 width=100><font color=#ffffff size=1 face=Verdana><b><a href=\"showvisits.php?sortedby=data&showstats=$showstats\">Data:< /a></b></font></td>"; echo "<td bgcolor = #acc7e0><font color=#ffffff size=1 face=Verdana ><b><a href=\"showvisits.php?sortedby=browser&showstats=$showstats\">Przegl± darka:</a></b></font></td>"; echo "<td bgcolor = #acc7e0><font color=#ffffff size=1 face=Verdana><b><a href=\"showvisits.php?sortedby=frompage&showstats=$showstats\">Ze strony:</a></b></font></td>"; echo "<td bgcolor = #acc7e0><font color=#ffffff size=1 face=Verdana><b><a href=\"showvisits.php?sortedby=visitedpage&showstats=$showstats\">Odwiedzona strona:</a></b></font></td>"; echo("</tr>"); $i=0; while ($c=mysql_fetch_array($r)) { $z=(int)$od; $i++; $id = $i+$z; echo "<td bgcolor=#ffffff><font color=#666666 size=1 face=Verdana><b>".$id.".</b></font></td>"; $t = $c['data']; if ($t=='') $t = "- brak -"; echo "<td width=180 bgcolor=#ffffff><font color=#666666 size=1 face=Verdana>".$t."</font></td>"; $t = $acprzeg[$i]; if ($t=='') $t = "- brak -"; echo "<td width=280 bgcolor=#ffffff><font color=#888888 size=1 face=Verdana>".$t."</font></td>"; $t = $c['info3']; if ($t=='') $t = "- brak -"; echo "<td bgcolor=#ffffff><font color=#888888 size=1 face=Verdana>".$t."</font></td>"; $t = $c['info4']; if ($t=='') $t = "- brak -"; echo "<td bgcolor=#ffffff><font color=#666666 size=1 face=Verdana><a href=".$t.">".$t."</a></font></td>"; echo "</tr>"; } echo("</table>"); echo"</div>"; echo"<br><div align=center><font size=1 color=#888888 face=Verdana>Copyright (c) 2006 - Rafał Krajewski [<a href=mailto:krajew4@wp.pl>krajew4@wp.pl</a>]</font></div>"; echo"</html>"; mysql_close($connect); ?>
http://krajew4.ovh.org/showvisits.php - statsy odwiedzin mojej strony, mają podzielone na strony tak jak chcesz, popatrz, mam nadzieję, że ci się przyda ;)
AL możesz dac zdaje sie LIMIT 5,7 i wyświetli od 5 do 7
No niestety wszystkie próby kończą się fiaskiem, poniżej złożyłem kod który powinień mi stronnicować ale wogóle nie wyświetla rekordów.
error_reporting(0); $conn = pg_connect("host=127.0.0.1 port=5432 dbname=osoby user=test password=test"); if (!$conn) {echo "Nie udalo sie polaczyc z baza danych. \n"; exit;} { $ON_PAGE = 5; //liczba wyświetleń na stronie $res = pg_query ($conn, 'SELECT COUNT(id) FROM ludzie'); $all_records = pg_fetch_row ($res, 0); //wszystkie rekordy $num_all_pages = $all_records/$ON_PAGE; //liczba stron $start = $_GET['page'] * $ON_PAGE; //poniżej jest nawigacja i zmienna $_GET['page'] } //Zapytanie do bazy danych, { $res = pg_query($conn, 'SELECT nazwisko, imie FROM ludzie LIMIT ' . $start . ',' . $ON_PAGE); } //Pasek nawigacji for($i=0; $i<$num_all_pages; $i++) { echo '<a href="index.php3?page='.$i.'">'.$i.'</a> | '; } // Tabela { $count=pg_num_rows($res); print '<BR>'; print '<center>'; print '<TABLE BGCOLOR="#90C0F0" border="4" cellpadding="15" cellspacing="1">'; print '<TR><TH colspan="5" scope="colgroup">Lista Osób</TH></TR>'; print '<TH scope="col">Nazwisko</TH>'; print '<TH scope="col">Imie</TH>'; for ($x=0;$x<$count;$x++) { // Tabela wraz z pobranymi danymi print '<TR><td>'.pg_fetch_result($res,$x,'nazwisko').' </td>'; print '<td>'.pg_fetch_result($res,$x,'imie').'</td>' ; print '</tr>'; } print '</table>'; print '</center>'; }
Ja to zrobiłem u sibie tak (nie komentwoałem kodu, dawno pisany - teraz sam już nie wiem o co chodzi i jak to działa ^_^ ):
//zmienna odbierana przez GET dla poczatku przykladowo: //www.strona.pl/plik.php?start=1 $start = $_GET['start']; {funkcja oblicza ile ma byc stron -> po 20 na strone} function stron($count) { if ($count <= 20) { //jesli ilosc < 20 to jest jedna strona return 1; } else { if($count%20==0) { //jesli ilosc jest idealnie podzilena przez 20 to wynikiem ilosci stron jest ilosc/20 return ($count/20); } else { return (ceil($count/20)); //ujesli jest reszta to zaokraglamy } } } $rekord = mysql_query('select * from ludzie;'); //zapytanko $result = mysql_fetch_array($rekord); $ilosc = mysql_num_rows($rekord); //petelka wyswietli wyniki na jednej stronie for ( $i = $start; $i <= $ilosc; $i = $i + 2) { $x = $i+1; //nie pamietam po co tego uzywalem if($x > $start+20) { //pamietamy - 20 na strone continue; } echo $result['nazwa_pola']; //pokazujemy if($x > $ilosc) { continue; } } {na dole dodajmy spis stron $strony = stron($ilosc); //ile stron? $start = 1; //liczymy od poczatku $tekst = ''; //bedzie zawierac tekst z linkami for ($i = 0; $i < $strony; $i++) { $tekst .= '<a herf="plik.php?start='.$start.'">'.($i+1).'</a> '; $start = $start + 20; //po 20 na strone } echo 'Idz do strony: '.$tekst;
Dziś moje rozwiązanie wydaje się mi sie wynajdywaniem koła od nowa, ale działało :)
Użytkownik p1101 edytował ten post 12 lipiec 2006, 11:39