ďťż

[php]Co należy dopisać... ..aby uzyskać pager??

       

Podstrony


telcocafe

Mam moduł do postnuke wyświetlający nowości na stronie. Jak przerobi skrypty (poniżej) aby na stronie było wyświetlane np. 10 newsów i jak będzie ich więcej to na dole strony będzie podział na strony, tak zwany pager dla newsów??

Kod pliku index.php
<?php if (!defined("LOADED_AS_MODULE")) { die ("You can't access this file directly..."); } $ModName = basename(dirname(__FILE__)); modules_get_language(); $ModName = $GLOBALS['ModName']; include ("header.php"); $host=pnConfigGetVar('dbhost'); $usern=pnConfigGetVar('dbuname'); $passw=pnConfigGetVar('dbpass'); $datab=pnConfigGetVar('dbname'); $prefix=pnConfigGetVar('prefix'); $lang=pnSessionGetVar('lang'); $polaczenie = mysql_connect($host, $usern, $passw); mysql_select_db ($datab); $zapytanie = "SELECT `pn_sid`,`pn_title`,`pn_hometext`,`pn_bodytext`,`pn_time`,`pn_counter`,`pn_informant` FROM ".$prefix."_stories WHERE `pn_topic`='12' order by `pn_time` desc LIMIT 1"; $wykonaj = mysql_query($zapytanie); $tablica=mysql_fetch_array($wykonaj,MYSQL_ASSOC); echo "<table CELLPADDING=0 CELLSPACING=0><tr><td height=\"23\" ALIGN=\"center\" background=\"themes/metal/images/artykul.jpg\"><b><span style=\"color: #FFFFFF;text-transform: uppercase;font-family: tahoma;font-size: 15px;font-weight: 900;background: #000000\">".$tablica['pn_title']."</span></td> </tr><tr><td></b><br /><span>autor: <A HREF=\"user.php?op=userinfo&uname=".$tablica['pn_informant']." \">".$tablica['pn_informant']."</A> data: ".$tablica['pn_time']." czytań:".$tablica['pn_counter']."</SPAN><hr color=#494949>\n<b>".$tablica['pn_hometext']."</b> <br /><br />".$tablica['pn_bodytext']."</TD></TR></TABLE> \n"; echo '<BR><table width=100% background=themes/metal/images/tlo.gif><tr><td ALIGN=center><B>NOWOŚĆI</B></TD></TR></TABLE>'; echo "<br />"; $zapytanie = "SELECT `pn_sid`,`pn_title`,`pn_time`,`pn_informant` FROM ".$prefix."_stories WHERE `pn_topic`='12' order by `pn_time` desc"; $wykonaj = mysql_query($zapytanie); while(($tablica=mysql_fetch_array($wykonaj,MYSQL_ASSOC))!=null) { echo "<table><tr><td><a href='modules.php?op=modload&name=newsy&file=newsy&id=".$tablica['pn_sid' ]."' style=\"font-size: 11.5pt;color: white\">".$tablica['pn_title']."</a><BR>autor: <B><A HREF=\"user.php?op=userinfo&uname=".$tablica['pn_informant']." \">".$tablica['pn_informant']."</A></B> | dodano: <B>".$tablica['pn_time']."</B></TD></TR> </TABLE>\n"; } mysql_close($polaczenie); include ('footer.php'); ?>

newsy.php
<?php if (!defined("LOADED_AS_MODULE")) { die ("You can't access this file directly..."); } $ModName = basename(dirname(__FILE__)); modules_get_language(); $ModName = $GLOBALS['ModName']; include ("header.php"); $host=pnConfigGetVar('dbhost'); $usern=pnConfigGetVar('dbuname'); $passw=pnConfigGetVar('dbpass'); $datab=pnConfigGetVar('dbname'); $prefix=pnConfigGetVar('prefix'); $lang=pnSessionGetVar('lang'); $polaczenie = mysql_connect($host, $usern, $passw); mysql_select_db ($datab); $zapytanie = "SELECT `pn_sid`,`pn_title`,`pn_hometext`,`pn_bodytext`,`pn_time`,`pn_counter`,`pn_informant` FROM ".$prefix."_stories where `pn_sid`='".$_GET['id']."'"; $wykonaj = mysql_query($zapytanie); $tablica=mysql_fetch_array($wykonaj,MYSQL_ASSOC); echo "<table CELLPADDING=0 CELLSPACING=0><tr><td height=\"23\" ALIGN=\"center\" background=\"themes/metal/images/artykul.jpg\"><b><span style=\"color: #FFFFFF;text-transform: uppercase;font-family: tahoma;font-size: 15px;font-weight: 900;background: #000000\">".$tablica['pn_title']."</SPAN></td> </tr><tr><td></b><br /><span>autor: <A HREF=\"user.php?op=userinfo&uname=".$tablica['pn_informant']." \">".$tablica['pn_informant']."</A> data: ".$tablica['pn_time']." czytań:".$tablica['pn_counter']."</SPAN><hr color=#494949>\n<b>".$tablica['pn_hometext']."</b> <br /><BR />".$tablica['pn_bodytext']."</TD></TR></TABLE> \n"; echo '<BR><table width=100% background=themes/metal/images/tlo.gif><tr><td ALIGN=center><B>NOWOŚĆI</B></TD></TR></TABLE>'; echo "<br />"; $zapytanie = "SELECT `pn_sid`,`pn_title`,`pn_time`,`pn_informant` FROM ".$prefix."_stories WHERE `pn_topic`='12' order by `pn_time` desc"; $wykonaj = mysql_query($zapytanie); while(($tablica=mysql_fetch_array($wykonaj,MYSQL_ASSOC))!=null) { echo "<table><tr><td><a href='modules.php?op=modload&name=newsy&file=newsy&id=".$tablica['pn_sid' ]."' style=\"font-size: 11.5pt;color: white\">".$tablica['pn_title']."</a><BR>autor: <B><A HREF=\"user.php?op=userinfo&uname=".$tablica['pn_informant']." \">".$tablica['pn_informant']."</A></B> | dodano: <B>".$tablica['pn_time']."</B></TD></TR> </TABLE>\n"; } mysql_close($polaczenie); include ('footer.php'); ?>



Ale przecież w Postnuke jest moduł newsów i w Ustawieniach można włączyć pager dla neswów.

Tak, ale to jest inny moduł.

Jest mi ktoś w stanie pomóc?? Jest mi to bardzo potrzebne.



Należałoby dodatkowo pobierać wartość GET [np $_GET['strona'] ] i do zapytań mysql dodawać parametr limit.
np.
if (isset($_GET['strona']) && is_numeric($_GET['strona'])) { //sprawdzamy czy jest numerkiem, by nikt nie wsadził nic złego do zapytania mysql $koniec = $_GET['strona']*10;  //np &strona=2 oznacza pobranie max. 20 rekordu z bazy $start = $koniec - 10; // pobieramy wtedy od 10 do 20 rekordu $zapytanie = 'select * from tabela limit '.$start.' '.$koniec; $wynik = mysql_query($zapytanie); while ($rekord = mysql_fetch_array($wynik)) { // costam? } }
To tylko przykład, bo nie zajmuję się modyfikacjami gotowych kodów, szczególnie gdy są takie brzydkie i nieczytelne :P
W każdym razie - $_GET + select ... from ... limit ... ... + select count(*) from .... = pager na stronę.

Próbowałem to zgrać z moim kodem, ale nie umiem. Znajdzie się ktoś dobry i mi pomoże???

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.