![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 6.01.2004 Ostrzeżenie: (0%) ![]() ![]() |
Stworzyłem taki oto skrypt do stronicowania który wyświetla takie coś:
" Dane ....... ....... Strony 1|2|3|.... " [php:1:87018243bd]<?php global $db, $prefix; // Ile artyku³ów ma ukzywaæ siê na jedn¹ porcjê / // stronê? $_ARTICLES['max_articles'] = 10; // Czy pokazywaæ link 'Nastêpna strona' oraz link // 'Poprzednia strona'? // TRUE = Tak; FALSE = Nie; $_ARTICLES['optional_links'] = TRUE; // Sortowanie artyku³ów // ASC = Rosn¹co; DESC = Malej¹co; $_ARTICLES['order'] = time; // Sortowanie artyku³ów // ASC = Rosn¹co; DESC = Malej¹co; $_ARTICLES['order2'] = DESC; /* * Dzia³anie */ // Je¿eli nie mamy parametru 'page' w adresie to wyœwietlamy // pierwsz¹ stronê $page = ( IsSet($_GET['page']) ) ? $_GET['page'] : 0; // Je¿eli nie mamy parametru 'order' w adresie to sortujemy // artyku³y wed³ug podanej w konfiguraji (patrz wy¿ej) // kolejnoœci $sort = ( IsSet($_GET['order']) ) ? $_GET['order'] : $_ARTICLES['order']; // Je¿eli nie mamy parametru 'order' w adresie to sortujemy // artyku³y wed³ug podanej w konfiguraji (patrz wy¿ej) // kolejnoœci $sort2 = ( IsSet($_GET['order2']) ) ? $_GET['order2'] : $_ARTICLES['order2']; // Obliczanie - Któr¹ stronê wyœwietliæ? $from = ( $page * $_ARTICLES['max_articles'] ); // Kreujemy zapytanie 'sql', które bêdzie wyci¹ga³o artyku³y // z tabeli 'artykuly' // Za pomoc¹ kluzuli LIMIT wyci¹gamy kolejno 'max_articles' // artyku³ów zaczynaj¹c od rekordu o ID 'from' $sql = "SELECT * FROM ".$prefix."_stories ORDER BY $sort $sort2 LIMIT $from, $_ARTICLES[max_articles]"; // Wynonujemy zapytanie SQL, ale je¿eli siê nie powiedzie to // wyœwietlamy stosowny komunikat o b³êdzie if ( !($result = $db->sql_query($sql)) ) { die('B³¹d MySQL : <b>' . mysql_error() . '</b><br />' . 'Wyst¹pi³y b³êdy podczas wyci¹gania danych o artyku³ach'); } // Za pomoc¹ pêtli 'while' wyœwietlamy wynik zapytania 'r' echo "<TABLE border= CELLSPACING=0 WIDTH=100% ALIGN=center>"; echo "<tr><td><center><b><A HREF="modules.php?name=Kategorie&page=$i&order=title&order2=ASC">"._TOPIC."</A></b></td>"; echo "<td><center><b><A HREF="modules.php?name=Kategorie&page=$i&order=time&order2=DESC">"._TIME."</A></b></td>"; echo "<td><center><b><A HREF="modules.php?name=Kategorie&page=$i&order=informant&order2=ASC">"._DODAL."</A></b></td>"; while ($row = $db->sql_fetchrow($result)) { echo ("<tr>"); echo ("<td>"); echo '<b><A HREF="modules.php?name=News&file=article&sid=' .$row['sid'] . '">'. $row['title'] . '</A></b>'; echo ("</td>"); echo ("<td>"); $abc = $row[time]; echo substr($abc, 0, 10); echo ("</td>"); echo ("<td>"); echo $row['informant']; echo ("</td>"); echo '</tr>'; } echo ('</table>'); // Zliczamy wszystkie artyku³y, które znajduj¹ siê w naszej // tabeli za pomoc¹ funkcji COUNT() w jêzyku SQL $result = mysql_query("SELECT COUNT(*)FROM ".$prefix."_stories"); list($articles) = mysql_fetch_row($result); // Poprzez podzielenie iloœci stron przez iloœæ artyku³ów // wyœwietlanych na jedn¹ stronê ('max_articles') otrzymamy // iloœæ wszystkich stron $all_pages = ( round($articles / $_ARTICLES['max_articles'])); // Je¿eli 'optional_links' = TRUE to wyœwietlamy link // 'Poprzednia strona', która powstaje poprzez odjêcie // jeden od iloœci stron $page_prev = ( $page - 1 ); if ( !($page_prev < 0) && $_ARTICLES['optional_links'] == TRUE ) { echo '<A HREF="modules.php?name=Kategorie&page=' . $page_prev . '&order=' . $sort . '&order2='.$sort2.'">' . '<< Poprzednia strona</A> [ '; } // Za pomoc¹ pêtli 'for' wyœwietlamy numerki oraz odnoœniki // do wszystkich stron. Np. gdy 'all_pages' jest równe 4 to // zobaczysz : // Pierwsza | 2 | 3 | Ostatnia for ( $i = 0, $t = 1, $tt = 1; $i <= $all_pages; $i++, $t++, $tt++ ) { $spacer = $i == $all_pages ? ' ' : ' | '; if ( $i == 0 ) { $t = '1'; } else { $t = $tt; } if ( $i == $page ) { echo $t . $spacer; } else { echo '<A HREF="modules.php?name=Kategorie&page=' . $i . '&order=' . $sort . '&order2='.$sort2.'">' . $t . '</A>' . $spacer; } } // Je¿eli 'optional_links' = TRUE to wyœwietlamy link // 'Nastêpna strona', która powstaje poprzez dodanie // jeden do iloœci stron $page_next = ( $page + 1 ); if ( !($page_next > $all_pages) && $_ARTICLES['optional_links'] == TRUE ) { echo '] <A HREF="modules.php?name=Kategorie&page=' . $page_next . '&order=' . $sort . '&order2='.$sort2.'">' . 'Nastêpna strona >></A>'; } else { echo ']'; } ?>[/php:1:87018243bd] U mnie na domowym serverze jest wszystko ok ale jak załaduje go na server w necie to pokazuje się takie coś Dane ....... ....... A tam gdzie powinny być numery stron jest bład: "Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/warrior/public_html/modules/Kategorie/index.php on line 92" Co jest nie tak w tym kodzie (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 18:55 |