Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Obsługa strzałek poprzedni/następny
Olsz4k
post
Post #1





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 26.07.2013
Skąd: Kraków

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


No właśnie, mam bazę danych która ma 1 tabele: id,tytul,tresc.
na stronie aktualnosci.php wyswietlam z tej bazy 1 aktualnosc w taki sposob:

  1. <?php
  2. include("polacz.php");
  3. $id=(int)$_GET['id'];
  4.  
  5.  
  6.  
  7. if(empty($_GET['id']))
  8. {
  9. $zapytanie="SELECT * from news ORDER BY id desc limit 1";
  10. $wykonaj=mysql_query($zapytanie);
  11. while($wiersz=mysql_fetch_array($wykonaj))
  12. {
  13. echo '<h2>'.$wiersz['tytul'].'</h2><p>'.$wiersz['tresc'].'</p>';
  14. }
  15.  
  16. }
  17. else
  18. {
  19. $zapytanie="SELECT * from news WHERE id='$id'";
  20. $wykonaj=mysql_query($zapytanie);
  21. while($wiersz=mysql_fetch_array($wykonaj))
  22. {
  23. echo '<p>'.$wiersz['tytul'].' '.$wiersz['tresc'].'<p>';
  24. }
  25.  
  26. }
  27.  
  28.  
  29. ?>


Działa wszystko ok.
Przechodząc do strzałek poprzedni/następny wygląda to u mnie tak:

  1. <div id="controls">
  2. <?php
  3.  
  4.  
  5. echo '<a style="float: left" href="aktualnosci.php?id='.($_GET[ 'id' ]-1).'">< wcześniej</a>';
  6. echo '<a style="float: right" href="aktualnosci.php?id='.($_GET[ 'id' ]+1).'">później ></a>';
  7. ?>
  8.  
  9.  
  10. </div>


I wszystko działa ładnie i sprawnie, dopóki jakaś aktualność nie zostanie usunięta z bazy danych (wtedy dane id pozostaje, a tytuł i treść są puste).
Nie wiem jak obsłużyć te strzałki, aby przeszukiwało czy dane id np. ma tytuł, jeżeli nie to następuje id+1 dopóki nie znajdzie id gdzie będzie tytuł.
Będę wdzięczny za jakąkolwiek pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Olsz4k
post
Post #2





Grupa: Zarejestrowani
Postów: 95
Pomógł: 0
Dołączył: 26.07.2013
Skąd: Kraków

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


Dzięki bardzo! Bardzo mi pomogłeś, jednak występuje jeszcze jeden problem, mianowicie ja pewnie źle wyświetlam pierwszego newsa.

Będąc na stronie głównej i klikając w zakładkę aktualności, chcę aby się wyświetlał najświeższy news (czyli ten, który ma największe id). Obecnie mam to tak zrobione,:

  1. if(empty($_GET['id']))
  2. {
  3. $zapytanie="SELECT * from news ORDER BY id desc limit 1";
  4. $wykonaj=mysql_query($zapytanie);
  5. while($wiersz=mysql_fetch_array($wykonaj))
  6. {
  7. echo '<h2>'.$wiersz['tytul'].'</h2><p>'.$wiersz['tresc'].'</p>';
  8. }
  9.  
  10. }
  11. else
  12. {
  13. $zapytanie="SELECT * from news WHERE id='$id'";
  14. $wykonaj=mysql_query($zapytanie);
  15. while($wiersz=mysql_fetch_array($wykonaj))
  16. {
  17. echo '<h2>'.$wiersz['tytul'].'</h2><p>'.$wiersz['tresc'].'</p>';
  18. }
  19.  
  20. }


Czyli w skrócie, jeżeli id będzie puste to posortuje od największego i weźmie pierwszy rekord. To działa, ale wtedy moje strzałki zaczynają się sypać.

Jak przekazać od razu do linku największe id?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 18:30