Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rekordy z bazy danych w divach
Forum PHP.pl > Forum > PHP
quinduwindu
Jako nowy użytkownik witam się uprzejmie, po czym przechodzę do rzeczy smile.gif

Problem: chcę wyjąć 10 losowych rekordów z bazy danych i każdy z nich umieścić w oddzielnym divie, który będzie domyślnie ukryty. Użytkownik ma widzieć jednego diva, gdzie będzie pierwszy rekord (jest to pytanie i 6 odpowiedzi) i dopiero po kliknięciu odpowiedniego buttona ma się schować 1 i ujawnić drugi div. I tak dalej aż do 10. Problem niby rozwiązałem ale tak łopatologicznie, że aż mi wstyd, poza tym divy jakoś nie chcą się chować.

Kod:
  1. $wynik = mysql_query("SELECT * FROM pytania ORDER BY RAND() LIMIT 10;")
  2. or die('Błąd zapytania');
  3.  
  4.  
  5. $poprawne = array();
  6. $pytania = array();
  7. $odpa = array();
  8. $odpb = array();
  9. $odpc = array();
  10. $odpd = array();
  11. $odpe = array();
  12. $odpf = array();
  13.  
  14. if(mysql_num_rows($wynik) > 0) {
  15.  
  16.  
  17. while($r = mysql_fetch_assoc($wynik)) {
  18.  
  19. array_push($pytania, $r['Pytanie']);
  20. array_push($odpa, $r['odpa']);
  21. array_push($odpb, $r['odpb']);
  22. array_push($odpc, $r['odpc']);
  23. array_push($odpd, $r['odpd']);
  24. array_push($odpe, $r['odpe']);
  25. array_push($odpf, $r['odpf']);
  26. array_push($poprawne, $r['pop']);
  27. }
  28. }
  29.  
  30.  
  31. for ($i=0; $i<count($pytania); $i++) {
  32. echo "<div id='div $i' >$pytania[$i]</div>"; }
  33.  
  34. mysql_close($connection);
  35.  
  36. ?>

Oczywiście, tutaj zrobiłem tylko wyświetlanie pytań.
Do tego stworzyłem 10 selektorów id w pliku CSS (div1, div 2 itd.). W jQuery zrobiłem "łańcuszek", który po kliknięciu buttona w div1, chowa div1 i wyrzuca(fadeIn) div2 itd. Problem w tym, że po załadowaniu wyrzuca mi wszystkie 10 divów, każdy z ładnie wylosowanym z bazy danych pytaniem ALE wszystkie są widoczne i na stronie robi się oczywiście syf. Zaznaczam, że nie chodzi mi o to by były niewidoczne, tylko by były "zniknięte" od momentu, w którym powstają, ale żebym potem mógł je wywołać.

Jakaś podpowiedź jak zrobić cwaną pętlę by uniknąć 10 id i 10 operacji w jQuery, uznam za nadprogramowy bonus i dowód na nieskończoną mądrość użytkowników tego zacnego forum Lkingsmiley.png
busterek
Ja to bym zrobił inaczej.
Stworzył pustego diva i wypełaniał go przy pomocy jQuery wylosowanymi pytaniami.
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.