Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Brak stron w stronicowaniu
Forum PHP.pl > Forum > Gotowe rozwiązania
tomek0077
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&sup3;ów ma ukzywa&aelig; si&ecirc; na jedn&sup1; porcj&ecirc; /
// stron&ecirc;?
$_ARTICLES['max_articles'] = 10;


// Czy pokazywa&aelig; link 'Nast&ecirc;pna strona' oraz link
// 'Poprzednia strona'?
// TRUE = Tak; FALSE = Nie;
$_ARTICLES['optional_links'] = TRUE;

// Sortowanie artyku&sup3;ów
// ASC = Rosn&sup1;co; DESC = Malej&sup1;co;
$_ARTICLES['order'] = time;

// Sortowanie artyku&sup3;ów
// ASC = Rosn&sup1;co; DESC = Malej&sup1;co;
$_ARTICLES['order2'] = DESC;

/*
* Dzia&sup3;anie
*/

// Je&iquest;eli nie mamy parametru 'page' w adresie to wyœwietlamy
// pierwsz&sup1; stron&ecirc;
$page = ( IsSet($_GET['page']) ) ? $_GET['page'] : 0;

// Je&iquest;eli nie mamy parametru 'order' w adresie to sortujemy
// artyku&sup3;y wed&sup3;ug podanej w konfiguraji (patrz wy&iquest;ej)
// kolejnoœci
$sort = ( IsSet($_GET['order']) ) ? $_GET['order'] :
$_ARTICLES['order'];

// Je&iquest;eli nie mamy parametru 'order' w adresie to sortujemy
// artyku&sup3;y wed&sup3;ug podanej w konfiguraji (patrz wy&iquest;ej)
// kolejnoœci
$sort2 = ( IsSet($_GET['order2']) ) ? $_GET['order2'] :
$_ARTICLES['order2'];

// Obliczanie - Któr&sup1; stron&ecirc; wyœwietli&aelig;?
$from = ( $page * $_ARTICLES['max_articles'] );

// Kreujemy zapytanie 'sql', które b&ecirc;dzie wyci&sup1;ga&sup3;o artyku&sup3;y
// z tabeli 'artykuly'
// Za pomoc&sup1; kluzuli LIMIT wyci&sup1;gamy kolejno 'max_articles'
// artyku&sup3;ów zaczynaj&sup1;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&iquest;eli si&ecirc; nie powiedzie to
// wyœwietlamy stosowny komunikat o b&sup3;&ecirc;dzie

if ( !($result = $db->sql_query($sql)) )
{
die('B&sup3;&sup1;d MySQL : <b>' . mysql_error() . '</b><br />'
. 'Wyst&sup1;pi&sup3;y b&sup3;&ecirc;dy podczas wyci&sup1;gania danych o artyku&sup3;ach');
}


// Za pomoc&sup1; p&ecirc;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&sup3;y, które znajduj&sup1; si&ecirc; w naszej
// tabeli za pomoc&sup1; funkcji COUNT() w j&ecirc;zyku SQL
$result = mysql_query("SELECT COUNT(*)FROM ".$prefix."_stories");
list($articles) = mysql_fetch_row($result);

// Poprzez podzielenie iloœci stron przez iloœ&aelig; artyku&sup3;ów
// wyœwietlanych na jedn&sup1; stron&ecirc; ('max_articles') otrzymamy
// iloœ&aelig; wszystkich stron
$all_pages = ( round($articles / $_ARTICLES['max_articles']));

// Je&iquest;eli 'optional_links' = TRUE to wyœwietlamy link
// 'Poprzednia strona', która powstaje poprzez odj&ecirc;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&sup1; p&ecirc;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&iquest;eli 'optional_links' = TRUE to wyœwietlamy link
// 'Nast&ecirc;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&ecirc;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 questionmark.gif rolleyes.gif
DreeD
jak dla mnie to brakuje tam polaczenia z baza...
sprawdz czy napewno w skrypt laczy sie z baza i czy taka istnieje
tomek0077
Istnieje i łączy się bo przecież napisałem że wyświetla dane:
"
title1
title2
title3
title4

Brak numerów stron i ten błąd"

Na domowym php mam taką samą bazę i działa a na tym servie nie chce (wszytskie inne skrypty działają na tym servie w necie)
kubatron
Błąd w lini 92 mianowicie to chyba ten kawałek kodu:
[php:1:a78e864209]<?php
// Zliczamy wszystkie artyku&sup3;y, które znajduj&sup1; si&ecirc; w naszej
// tabeli za pomoc&sup1; funkcji COUNT() w j&ecirc;zyku SQL
$result = mysql_query("SELECT COUNT(*)FROM ".$prefix."_stories");
list($articles) = mysql_fetch_row($result);
?>[/php:1:a78e864209]
tylko nierozumie tego list($articles) = mysql_fetch_row($result);
:wink:
tomek0077
Już sobie poradziłem, zamieniłęm:

[php:1:6f77c144bd]<?php
$result = mysql_query("SELECT COUNT(*)FROM ".$prefix."_stories");
list($articles) = mysql_fetch_row($result);
?>[/php:1:6f77c144bd]

na

[php:1:6f77c144bd]<?php
$result2 = mysql_query("SELECT COUNT(*)FROM ".$prefix."_stories", $dbi);
list($articles) = sql_fetch_row($result2, $dbi);
?>[/php:1:6f77c144bd]

Teraz mam drugi problem ten skrypt ma taką postać:
"
title1
title2
title3
......
Strony 1|2|3...
"

Jak zrobić żeby to miało taką postać
"
Strony 1|2|3...
title1
title2
title3
......
Strony 1|2|3...
"
Czyli żeby strony były na górze i dole ?
gulldarek
Powinno dzialac:

[php:1:f25c53dae9]<?php
global $db, $prefix;

// Ile artyku&sup3;ów ma ukzywa&aelig; si&ecirc; na jedn&sup1; porcj&ecirc; /
// stron&ecirc;?
$_ARTICLES['max_articles'] = 10;


// Czy pokazywa&aelig; link 'Nast&ecirc;pna strona' oraz link
// 'Poprzednia strona'?
// TRUE = Tak; FALSE = Nie;
$_ARTICLES['optional_links'] = TRUE;

// Sortowanie artyku&sup3;ów
// ASC = Rosn&sup1;co; DESC = Malej&sup1;co;
$_ARTICLES['order'] = time;

// Sortowanie artyku&sup3;ów
// ASC = Rosn&sup1;co; DESC = Malej&sup1;co;
$_ARTICLES['order2'] = DESC;

/*
* Dzia&sup3;anie
*/

// Je&iquest;eli nie mamy parametru 'page' w adresie to wyœwietlamy
// pierwsz&sup1; stron&ecirc;
$page = ( IsSet($_GET['page']) ) ? $_GET['page'] : 0;

// Je&iquest;eli nie mamy parametru 'order' w adresie to sortujemy
// artyku&sup3;y wed&sup3;ug podanej w konfiguraji (patrz wy&iquest;ej)
// kolejnoœci
$sort = ( IsSet($_GET['order']) ) ? $_GET['order'] :
$_ARTICLES['order'];

// Je&iquest;eli nie mamy parametru 'order' w adresie to sortujemy
// artyku&sup3;y wed&sup3;ug podanej w konfiguraji (patrz wy&iquest;ej)
// kolejnoœci
$sort2 = ( IsSet($_GET['order2']) ) ? $_GET['order2'] :
$_ARTICLES['order2'];

// Obliczanie - Któr&sup1; stron&ecirc; wyœwietli&aelig;?
$from = ( $page * $_ARTICLES['max_articles'] );

// Kreujemy zapytanie 'sql', które b&ecirc;dzie wyci&sup1;ga&sup3;o artyku&sup3;y
// z tabeli 'artykuly'
// Za pomoc&sup1; kluzuli LIMIT wyci&sup1;gamy kolejno 'max_articles'
// artyku&sup3;ów zaczynaj&sup1;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&iquest;eli si&ecirc; nie powiedzie to
// wyœwietlamy stosowny komunikat o b&sup3;&ecirc;dzie

if ( !($result = $db->sql_query($sql)) )
{
die('B&sup3;&sup1;d MySQL : <b>' . mysql_error() . '</b><br />'
. 'Wyst&sup1;pi&sup3;y b&sup3;&ecirc;dy podczas wyci&sup1;gania danych o
artyku&sup3;ach');
}


// Za pomoc&sup1; p&ecirc;tli 'while' wyœwietlamy wynik zapytania 'r'
while ($row = $db->sql_fetchrow($result))
{

$abc = substr($row[time], 0, 10);

$wynik .= "<tr><td><b><A HREF='modules.php?name=News&file=article&sid=" .$row['sid'] . "'>".
$row['title'] . "</A></b></td><td>" . $abc . "</td><td>" . $row['informant'] . "</td></tr>";
}

// Zliczamy wszystkie artyku&sup3;y, które znajduj&sup1; si&ecirc; w naszej
// tabeli za pomoc&sup1; funkcji COUNT() w j&ecirc;zyku SQL
$result = mysql_query("SELECT COUNT(*)FROM ".$prefix."_stories");
list($articles) = mysql_fetch_row($result);

// Poprzez podzielenie iloœci stron przez iloœ&aelig; artyku&sup3;ów
// wyœwietlanych na jedn&sup1; stron&ecirc; ('max_articles') otrzymamy
// iloœ&aelig; wszystkich stron
$all_pages = ( round($articles / $_ARTICLES['max_articles']));

// Je&iquest;eli 'optional_links' = TRUE to wyœwietlamy link
// 'Poprzednia strona', która powstaje poprzez odj&ecirc;cie
// jeden od iloœci stron
$page_prev = ( $page - 1 );
if ( !($page_prev < 0) && $_ARTICLES['optional_links'] == TRUE )
{
$page_previous = '<A HREF="modules.php?name=Kategorie&page=' . $page_prev . '&order=' .
$sort . '&order2='.$sort2.'">'
. '<< Poprzednia strona</A> [ ';
}


// Za pomoc&sup1; p&ecirc;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
{


$page_numbers .= '<A HREF="modules.php?name=Kategorie&page=' . $i . '&order=' . $sort .
'&order2='.$sort2.'">'
. $t . '</A>' . $spacer;
}
}

// Je&iquest;eli 'optional_links' = TRUE to wyœwietlamy link
// 'Nast&ecirc;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 )
{


$page_next = '] <A HREF="modules.php?name=Kategorie&page=' . $page_next . '&order=' .
$sort . '&order2='.$sort2.'">'
. 'Nast&ecirc;pna strona >></A>';


}
else
{
$page_next = ']';
}

$pages = $page_previous . $page_numbers . $page_next;


echo $pages;

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>" . $wynik . "</table>";

echo $pages;

?>[/php:1:f25c53dae9]
tomek0077
Dzięki działa
tomek0077
Jednak jest mały problem :? stronę bieżąca w stronicowaniu (tą na której się jest obecnei wyświelta na samym początku:

Powinno być tak
[1][2][3][4] (3 strona bieżąca)

a jest tak:

[3] [1][2][4]


..... :?:
gulldarek
To powinno byc juz ok...

[php:1:ad0d8dcf56]<?php
global $db, $prefix;

// Ile artyku&sup3;ów ma ukzywa&aelig; si&ecirc; na jedn&sup1; porcj&ecirc; /
// stron&ecirc;?
$_ARTICLES['max_articles'] = 10;


// Czy pokazywa&aelig; link 'Nast&ecirc;pna strona' oraz link
// 'Poprzednia strona'?
// TRUE = Tak; FALSE = Nie;
$_ARTICLES['optional_links'] = TRUE;

// Sortowanie artyku&sup3;ów
// ASC = Rosn&sup1;co; DESC = Malej&sup1;co;
$_ARTICLES['order'] = time;

// Sortowanie artyku&sup3;ów
// ASC = Rosn&sup1;co; DESC = Malej&sup1;co;
$_ARTICLES['order2'] = DESC;

/*
* Dzia&sup3;anie
*/

// Je&iquest;eli nie mamy parametru 'page' w adresie to wyœwietlamy
// pierwsz&sup1; stron&ecirc;
$page = ( IsSet($_GET['page']) ) ? $_GET['page'] : 0;

// Je&iquest;eli nie mamy parametru 'order' w adresie to sortujemy
// artyku&sup3;y wed&sup3;ug podanej w konfiguraji (patrz wy&iquest;ej)
// kolejnoœci
$sort = ( IsSet($_GET['order']) ) ? $_GET['order'] :
$_ARTICLES['order'];

// Je&iquest;eli nie mamy parametru 'order' w adresie to sortujemy
// artyku&sup3;y wed&sup3;ug podanej w konfiguraji (patrz wy&iquest;ej)
// kolejnoœci
$sort2 = ( IsSet($_GET['order2']) ) ? $_GET['order2'] :
$_ARTICLES['order2'];

// Obliczanie - Któr&sup1; stron&ecirc; wyœwietli&aelig;?
$from = ( $page * $_ARTICLES['max_articles'] );

// Kreujemy zapytanie 'sql', które b&ecirc;dzie wyci&sup1;ga&sup3;o artyku&sup3;y
// z tabeli 'artykuly'
// Za pomoc&sup1; kluzuli LIMIT wyci&sup1;gamy kolejno 'max_articles'
// artyku&sup3;ów zaczynaj&sup1;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&iquest;eli si&ecirc; nie powiedzie to
// wyœwietlamy stosowny komunikat o b&sup3;&ecirc;dzie

if ( !($result = $db->sql_query($sql)) )
{
die('B&sup3;&sup1;d MySQL : <b>' . mysql_error() . '</b><br />'
. 'Wyst&sup1;pi&sup3;y b&sup3;&ecirc;dy podczas wyci&sup1;gania danych o
artyku&sup3;ach');
}


// Za pomoc&sup1; p&ecirc;tli 'while' wyœwietlamy wynik zapytania 'r'
while ($row = $db->sql_fetchrow($result))
{

$abc = substr($row[time], 0, 10);

$wynik .= "<tr><td><b><A HREF='modules.php?name=News&file=article&sid=" .$row['sid']
. "'>".
$row['title'] . "</A></b></td><td>" . $abc . "</td><td>" . $row['informant'] .
"</td></tr>";
}

// Zliczamy wszystkie artyku&sup3;y, które znajduj&sup1; si&ecirc; w naszej
// tabeli za pomoc&sup1; funkcji COUNT() w j&ecirc;zyku SQL
$result = mysql_query("SELECT COUNT(*)FROM ".$prefix."_stories");
list($articles) = mysql_fetch_row($result);

// Poprzez podzielenie iloœci stron przez iloœ&aelig; artyku&sup3;ów
// wyœwietlanych na jedn&sup1; stron&ecirc; ('max_articles') otrzymamy
// iloœ&aelig; wszystkich stron
$all_pages = ( round($articles / $_ARTICLES['max_articles']));

// Je&iquest;eli 'optional_links' = TRUE to wyœwietlamy link
// 'Poprzednia strona', która powstaje poprzez odj&ecirc;cie
// jeden od iloœci stron
$page_prev = ( $page - 1 );
if ( !($page_prev < 0) && $_ARTICLES['optional_links'] == TRUE )
{
$page_previous = '<A HREF="modules.php?name=Kategorie&page=' . $page_prev .
'&order=' .
$sort . '&order2='.$sort2.'">'
. '<< Poprzednia strona</A> [ ';
}


// Za pomoc&sup1; p&ecirc;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 )
{
$page_numbers .= $t . $spacer;
}
else
{


$page_numbers .= '<A HREF="modules.php?name=Kategorie&page=' . $i . '&order='
. $sort .
'&order2='.$sort2.'">'
. $t . '</A>' . $spacer;
}
}

// Je&iquest;eli 'optional_links' = TRUE to wyœwietlamy link
// 'Nast&ecirc;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 )
{


$page_next = '] <A HREF="modules.php?name=Kategorie&page=' . $page_next . '&order=' .
$sort . '&order2='.$sort2.'">'
. 'Nast&ecirc;pna strona >></A>';


}
else
{
$page_next = ']';
}

$pages = $page_previous . $page_numbers . $page_next;


echo $pages;

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>" . $wynik . "</table>";

echo $pages;
?>[/php:1:ad0d8dcf56]
KRCreater
A ja mam pytanko do tego skryptu. Jak dodać coś takiego co będzie pokazywało numery przy każdym wyświetlanym wierszu. Ale tak jak jest alfabetycznie np.

strona [1]:

1.Ala
2.Bubek
3.Cichy
4.Daras
5.Ela
6.Franek
7.Geronimo
8.Hamurabi
9.Inożbik
10.Jola

strona[2]:

11.KRC
12.Lolek
13.Marcin
14.Natashqa
15.Olek
16.Piter

...
itd.
kszychu
[php:1:1dbe1cd6b2]<?php
for($i = 1; $i <= $ilosc_wierszy_na_stronie; $i++) {
$nr_wiersza = ($nr_strony - 1) * $ilosc_wierszy_na_stronie + $i;
}
?>[/php:1:1dbe1cd6b2]
KRCreater
jak by to wyglądało w połączeniu z tym skryptem ?
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.