Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Licznik strony
olamik
post
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 18.10.2007

Ostrzeżenie: (0%)
-----


Witam , mam problem związany z liczbą stron.
Mam plik php i chciałabym by dorobić mu liczbe stron , czyli gdy zapełni się strona pierwsza i utworzy się strona 2 by była widoczna

Wszystko jest ładnie gdy na końcu adresu dopisze &page2 , &page3
np http://www.fordonskasm.pl/prawne.php?k=2
http://www.fordonskasm.pl/prawne.php?k=2?&page=2
http://www.fordonskasm.pl/prawne.php?k=2?&page=3

taka jest zawartość tego pliku

<?
if ($catid=="51") {
$txt = "Statut";
}
elseif ($catid=="52") {
$txt = "Regulaminy";
}
elseif ($catid=="53"){
$txt = "Akty prawne";
}
$p = new Pager;
$start = $p->findStart($limit);
$count = mysql_num_rows(mysql_query("SELECT id,title,preface,createdate FROM news WHERE categoryid=". $catid .""));
$pages = $p->findPages($count, $limit);
$i=$start+1;

$recordset = mysql_query("SELECT id,title,preface,createdate FROM news WHERE categoryid=".$catid." ORDER BY createdate DESC LIMIT ".$start.", ".$limit."");
if ($recordset)
{
while ($row = mysql_fetch_array($recordset))
{
?><br>
<table width="430" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#D9EFFF">
<tr bgcolor="#F0F9FF">
<td width="15" height="20">
<div align="center"><img src="news_punkt.gif" width="9" height="9"></div>
</td>
<td bgcolor="#F0F9FF" class="news1top"><? echo $txt;?> - <? echo stripslashes($row["title"]);?></td>
<td width="15" bgcolor="#F0F9FF" class="news1top">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td class="news2"><div align="justify">
<p><? echo cleantext(stripslashes($row["preface"]));?></p>
</div>
</td>
<td class="news2">&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><table width="400" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="195" height="20" class="news3data">
<div align="left"><? echo $row["createdate"];?></div>
</td>
<td width="121">&nbsp;</td>
<td width="84"><?
$record = mysql_query("SELECT id,name FROM attachments WHERE section=".$catid." AND matid=".$row["id"]." ORDER BY id DESC");
if ($record)
{
while ($row2 = mysql_fetch_array($record))
{ ?><div align="right">
<a href="http://www.fordonskasm.pl/foto/<? echo $row2["name"];?>"?>"><img src="pobierz.gif" width="63" height="15" border="0"></a></div><?
}
}
mysql_free_result($record);
?></td>
</tr>
</table>
</td>
<td>&nbsp;</td>
</tr>
</table>
<?
}
}
mysql_free_result($recordset);
?><br>
<table width="430" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#D9EFFF">
<tr>
<td width="15" height="20">
<div align="center"><img src="news2_punkt.gif" width="9" height="9"></div>
</td>
<td width="410" class="news1top">Podstawy prawne</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><a href="prawne.php?k=1" class="news4zobacz">&gt; Statut</a></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><a href="prawne.php?k=2" class="news4zobacz">&gt; Regulaminy</a></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><a href="prawne.php?k=3" class="news4zobacz">&gt; Akty prawne</a></td>
</tr>
</table>
<p>&nbsp;</p>


Czy można liczyc na pomoc , czy jeszcze sa potrzebne jakies materiały dodatkowe ?
Go to the top of the page
+Quote Post
phoenix7
post
Post #2





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 30.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Całość rozwiązać mozna tak:

Opiera się na funkcji LIMIT pierwszy_rekord, ilosc_rekordow

1. Sprawdzasz ilość wszystkich rekordów mysql_num_rows:
Kod
       $limit = 20; // ilość wyświetlanych rekordów na jednej stronie
       $count = mysql_num_rows($query);

2. Tworzysz sobie zmienną $offset:
Kod
       if (!$page || $page == 1) $offset = 0; else $offset = ($page * $limit) - $limit;

3. Później wrzucasz do zapytania sql:
Kod
       limit $offset, $limit

4. Żeby pokazać ilość stron robisz sobie najprościej:
Kod
       $strony = ceil($count/$limit);
       for ($x = 1; $x <= $strony; $x++) {
           if ($x < $strony) echo "<a href='adres.php?page=$x'>$x</a> | "; else echo "<a href='adres.php?page=$x'>$x</a>";
       }


Pozdrawiam
PhoeniX
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:47