Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] stronicowanie pomoc
-johnm-
post 24.08.2008, 11:18:10
Post #1





Goście







witam! Prosze o sprawdzenie co jest zle posiadam taki kod na stronicowanie, niestety nie działa mi to pokazuje strzałke tylko w dół zamiast do góry po kliknieciu nadal ta sama strona, kod sciagnelem z internetu nie jestem mistrzem w tym wiec moze nie wszystko podmieniłem
Kod

$link=mysql_query("SELECT * FROM news ORDER BY id desc limit 0, 4");
?>
<td width="403" class="SRODKOWY_PANEL">
<?
while($wiersz=mysql_fetch_array($link))
{
?>


<img height="1" alt="" src="kropki_spanel.gif" width="403"><br>
        <p class="NAGLOWEK1"><?=$wiersz['tytul'];?> </p>
<img height="1" alt="" src="kropki_spanel.gif" width="403"><br><br>
<p class="TRESC"> <?=$wiersz['tresc'];?> </p>
<p class="TRESC_NAGLOWEK">Dodano: <?=$wiersz['data'];?> </p>


<?
}
mysql_close($uchwyt);
?>

<?

echo '<div align="right">';
if($id_page == 1) echo '<span style="color: rgb(100,100,100); cursor: default"><<</span> |'; else echo '<a href="?id='.$back.'"><<</a> | ';
while ($min <= $max) {if($id_page == $min) echo ' <span style="color: lightblue; cursor: default">'.$min.'</span> '; else echo ' <a href="?id='.$min.'">'.$min.'</a> '; $min++;}
if($id_page == $max) echo ' | <span style="color: rgb(100,100,100); cursor: default">>></span>'; else echo '| <a href="?id='.$next.'">>></a>';
echo '</div>';

?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
rzymek01
post 24.08.2008, 11:24:03
Post #2





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


Cytat
  1. <?php
  2. $link=mysql_query("SELECT * FROM news ORDER BY id desc limit 0, 4");
  3. ?>

trudno, żeby przy takim zapytaniu (bez zmiennych) coś się zmienialo smile.gif


--------------------
:]
Go to the top of the page
+Quote Post
-johnm-
post 24.08.2008, 11:40:36
Post #3





Goście







To prosze powiedz co zle, zaczynam z tym zabawe i sie ucze:)
Go to the top of the page
+Quote Post
wookieb
post 24.08.2008, 11:44:04
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Popraw ten cholernei zle ułożony kod i nie pisz takiego smietnika.

Kod
$page=$_GET['id']; // jezeli masz to w id to ok i tak zostaw

if($page<1) $page=1;
if($page>2000) $page=2000; // nie sadze bys mial wiecej stron

$limit=4;
$offset=($page-1)*$limit;

$link=mysql_query('SELECT * FROM news ORDER BY id desc limit '.$offset.', '.$limit);


--------------------
Go to the top of the page
+Quote Post
rzymek01
post 24.08.2008, 11:51:11
Post #5





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


to zapytanie musisz opatrzyc przynajmniej jedną zmienną `od którego rekordu ma wyświetlać`

załóżmy, ze będzie to zmienna $_GET['strona'], która należy przekazać w linku ($_GET) i przefiltrować, np.

  1. <?php
  2. $ILE_NA_STRONE = 4;
  3. $SORTOWANIE = 'desc'; // lub asc, malejąco, rosnąco
  4.  
  5. if (!empty($_GET['strona']))
  6. $_GET['strona'] = (int)$_GET['strona'];
  7.  
  8. if (empty($_GET['strona']))
  9. $_GET['strona'] = 0;
  10.  
  11. $link=mysql_query('SELECT * FROM news ORDER BY id '.$SORTOWANIE.' limit '.($_GET['strona'] * $ILE_NA_STRONE).', '.$ILE_NA_STRONE);
  12.  
  13. ....
  14. ?>


no i oczywiście musisz dorobić linki do stron następna, poprzednia, typu:

  1. <?php
  2. //poprzedni kod
  3.  
  4. echo '<a href="?strona='.($_GET['strona'] + 1).'">Nastepna</a>';
  5. ......
  6. ?>


i analogicznie z -1 poprzednia

sprawdzenie czy można przejść na następna czy poprzednią stronę (koniec wpisów, początek wpisów) pozostawiam tobie we własnym zakresie smile.gif


--------------------
:]
Go to the top of the page
+Quote Post
-johm-
post 24.08.2008, 12:27:27
Post #6





Goście







Pozmieniałem wszystko i niby wszystko ok ale po naciśnięciu następna strona w adresie pojawia sie 2 strona ale newsy są nadal te same przesyłam raz jeszcze cały kod proszę zerknąć co jeszcze nie tak dzieki!
Kod
<?
$uchwyt=mysql_connect('mysql.60free.ovh.org','pccccc','wwwwww')
    or die('Nieudane poł&plusmn;czenie z baz&plusmn; danych...');
mysql_select_db('pdddd')
    or die('Nie udało się wybrać bazy danych...');




$ILE_NA_STRONE = 4;
$SORTOWANIE = 'desc';

if (!empty($_GET['strona']))
  $_GET['strona'] = (int)$_GET['strona'];

if (empty($_GET['strona']))
  $_GET['strona'] = 0;

$link=mysql_query('SELECT * FROM news ORDER BY id '.$SORTOWANIE.' limit '.($_GET['strona'] * $ILE_NA_STRONE).', '.$ILE_NA_STRONE);



?>

<td width="403" class="SRODKOWY_PANEL">
<?
while($wiersz=mysql_fetch_array($link))
{
?>


<img height="1" alt="" src="kropki_spanel.gif" width="403"><br>
        <p class="NAGLOWEK1"><?=$wiersz['tytul'];?> </p>
<img height="1" alt="" src="kropki_spanel.gif" width="403"><br><br>
<p class="TRESC"> <?=$wiersz['tresc'];?> </p>
<p class="TRESC_NAGLOWEK">Dodano: <?=$wiersz['data'];?> </p>


<?
}
mysql_close($uchwyt);
?>

<?
echo '<div align="right">';
echo '<a href="?page='.($_GET['page'] - 1).'">Poprzednia</a>';
echo '<a href="?page='.($_GET['page'] + 1).'">Nastepna</a>';


?>
Go to the top of the page
+Quote Post
-johnm-
post 24.08.2008, 12:35:25
Post #7





Goście







Doszedłem samemu błąd miałem zamiast 'strona' dałem 'page' wszystko działa smile.gif WIELKIE DZIEKI! a jeszcze małe pytanie jak zrobic by na 1 i ostatniej stronie nie swieciło mi odpowiednio 'poprzednia' i 'nastepna' ?
Go to the top of the page
+Quote Post
rzymek01
post 24.08.2008, 17:35:45
Post #8





Grupa: Zarejestrowani
Postów: 592
Pomógł: 62
Dołączył: 3.08.2006

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


z poprzednią nie ma problemu, bo gdy strona=0, to nie ma poprzedniej smile.gif a z nastepna pomyśl


--------------------
:]
Go to the top of the page
+Quote Post
-jognm-
post 24.08.2008, 17:58:38
Post #9





Goście







z poprzednią już doszedłem smile.gif) rzeczywiscie proste a z następną hmm czy trzeba najpierw jakis skrypt by sciągnął ile jest tych newsos i wyliczył, że to już ostatnia strona? Nie mam za bardzo pojecia jak do tego podejść
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 02:51