Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]ciągłe wyświetlanie rekrdów po jednym na odświeżenie.
Forum PHP.pl > Forum > Bazy danych > MySQL
michalek1986
Witam, napisałem coś takiego:
  1. <?php
  2. $id=$_SESSION['url'];
  3. $sql= mysql_query("SELECT * FROM pages WHERE id=$id LIMIT 1");
  4. $row = mysql_fetch_assoc($sql);
  5. echo $row['url'];
  6. $_SESSION['url']++;
  7. ?>

z założenia ten skrypt ma wyświetlać kolejne rekordy po jednym na odświeżenie. Niestety $_SESSION['url'] w końcu osiąga wartość większą niż rzeczywista ilość rekordów i nic nie wyświetla. Dodatkow do tego dochdzi fakt, że pewne numery id zostały usunięte i wtedy wartość jest pusta.

Skracając skrypt miał pokazywać po jednym kolejnym rekordzie na dane wyświetlenie i stale obracać się w rzeczywistej ilości rekordów, tzn. zapewniać ciągłość. Nie można określić liczby końcowej po której wartość znowu wyniesie 0 i tak w kółko ponieważ jest ona zmienna.

Z góry dziękuję smile.gif
Kicok
1. Jeśli $_SESSION['url'] jest puste to pobierasz z bazy dane dla najmniejszego id.
Jeśli nie, to pobierasz z bazy dane dla najmniejszego id, które jest większe od $_SESSION['url']

2. Jeśli zapytanie nie zwróciło nic, a $_SESSION['url'] nie jest puste, to kasujesz $_SESSION['url'] albo ustawiasz mu wartość na 0 i wracasz do punktu: 1.
Jeśli zapytanie nie zwróciło nic, a $_SESSION['url'] jest puste, to znaczy że w tabeli nie ma nic i przerywasz całą akcję, żeby się nie zapętlić

3. Wyświetlasz adres URL pobrany zapytaniem z bazy danych

4. Zapisujesz do $_SESSION['url'] ostatnio pobrane id


Poczytaj sobie o: ORDER BY, LIMIT i MIN()
michalek1986
a czy nie ma zapytania wczytującego rekord zapisany w danej linii.

| id | pages |
---------------
1 page1
3 page3
6 page6
7 cos tam
8 cos tam2

i przykładowo czy każdemu z tych rekordów jest przyporządkowany kolejny numer?

| id | pages |
---------------
1 page1 (0)
3 page3 (1)
6 page6 (2)
7 cos tam (3)
8 cos tam2 (4)

z góry dzięki winksmiley.jpg
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.