Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Sesja, poprzedni wiersz tabeli MySQL
x1mrdonut1x
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 14.04.2013

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


Siema, mam stronę, gdzie za każdym refreshem wybieram losową tabelę w mysql i wyświetlam jej dane. Chciałbym sprawdzić jakie ID miałem poprzednio aby po każdym refreshu wyświetlała się inna strona niż poprzednia. Próbowałem to zrobić z sesją -

  1. if ($ile >1)
  2. {
  3. while ($check == $id){
  4. $result = mysqli_query($con,"SELECT * FROM main WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM main ) ORDER BY id LIMIT 1;");
  5.  
  6. while($row = mysqli_fetch_array($result))
  7. {
  8. $movie=$row['movie'];
  9. $spoil=$row['spoil'];
  10. $img=$row['image'];
  11. $id=$row['id'];
  12. }
  13. echo "id:", $id, "check:",$check;
  14. }
  15. }
  16. else{
  17. $result = mysqli_query($con,"SELECT * FROM main WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM main ) ORDER BY id LIMIT 1;");
  18.  
  19. while($row = mysqli_fetch_array($result))
  20. {
  21. $movie=$row['movie'];
  22. $spoil=$row['spoil'];
  23. $img=$row['image'];
  24. $id=$row['id'];
  25. }
  26. $check=$id;
  27. }


gdzie $ile to jest liczba sekund w danej sesji. To nie działa chyba dlatego, że ten $check mi się resetuje po każdym refreshu (IMG:style_emoticons/default/tongue.gif) Pomożecie? (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
sajegib
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


zrób tak w skrypcie - od początku
- sprawdz czy istnieje zmienna sesyjna z poprzednia wartoscia -> jesli tak to losuj bez niej, jesli nie to losuj z calosci
na koncu skryptu zapisz wylosowana rartosc
Go to the top of the page
+Quote Post
x1mrdonut1x
post
Post #3





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 14.04.2013

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


nie rozumiem (IMG:style_emoticons/default/haha.gif)
Go to the top of the page
+Quote Post
sajegib
post
Post #4





Grupa: Zarejestrowani
Postów: 352
Pomógł: 59
Dołączył: 16.01.2013

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


  1. if(isset($_SESSION['ostatni_wynik'])){
  2. //losuj z ktorej tabeli brac wyniki z wylaczeniem rekordu ostatni wynik
  3. }
  4. else{
  5. //losuj ze wszystkich
  6. }
  7. //tutaj pobierasz dane
  8.  
  9.  
  10. $_SESSION['ostatni_wynik'] = //aktualnie wylosowana tabela


coś w tym rodzaju
Go to the top of the page
+Quote Post
x1mrdonut1x
post
Post #5





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 14.04.2013

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


  1.  
  2.  
  3. if(isset($_SESSION['check'])){
  4. $result = mysqli_query($con,"SELECT * FROM main WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM main ) AND id != '".$check."' ORDER BY id LIMIT 1;");
  5. }
  6. else{
  7. $result = mysqli_query($con,"SELECT * FROM main WHERE id >= (SELECT FLOOR( MAX(id) * RAND()) FROM main ) ORDER BY id LIMIT 1;");
  8. }
  9.  
  10. $row = mysqli_fetch_array($result);
  11. $id=$row['id'];
  12.  
  13. $_SESSION['check'] = $id;
  14. $check = $_SESSION['check'];


Zrobiłem tak i niestety nie działa (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Po co ta nieuprzejmośc w postaci języka? Dobrze ci radzono, a że nie potrafisz zrobić to stan przed lustrem i sobie pokaż język a nie pomagającemu....

2) "Nie działa" czyli co się dzieje lub nie dzieje?

3) W zapytaniu używasz zmiennej $check, którą definiujesz znacznie później.... myślisz że się ona sama w magiczny sposób przeniesie?

4) Włącz wyświetlanie błędów, tu masz napisane jak
Temat: Jak poprawnie zadac pytanie
I ogólnie zapoznaj się z tym tematem i naucz opisywać problem
Go to the top of the page
+Quote Post

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: 23.08.2025 - 13:07