Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] stopniowe wyświetlanie wyników
Forum PHP.pl > Forum > Przedszkole
maniaksz
Witam, poniżej mam kod, który losuje liczby z zadanego przedziału i ładuje do tablicy a następnie wyświetla tablicę wynikową.
Chciałby zmodyfikować wyświetlanie wyników w taki sposób, żeby w wierszu początkowo pojawiła się tylko wartość pola $wynik["id_nag_dod"] i na końcu wiersza przycisk "pokaż", następnie po kliknięciu go pokazała się reszta danych.
Jak mógłbym zrobić coś takiego??

  1. <?php
  2. if(isset($numer))
  3. {
  4. $i=0;
  5. while(sizeof($tab_wyn)<>$numer)
  6. {
  7. $lp=rand(1,3454);
  8. //sprawdzenie statusu w bazie
  9. $spr_stat=mysql_query("select id_nag_dod,id_klient,wylosowany from nagroda_dod where id_nag_dod='$lp';") or die ("blad w sprawdzenie statusu w bazie");
  10. $wyn_spr=mysql_fetch_array($spr_stat);
  11.  
  12. //dane klienta
  13. $id_nag_dod=stripslashes($wyn_spr['id_nag_dod']);
  14. $id_klient=stripslashes($wyn_spr['id_klient']);
  15. $wylosowany=stripslashes($wyn_spr['wylosowany']);
  16.  
  17. if($wylosowany==0)
  18. {
  19. $update_na1=mysql_query("update nagroda_dod set wylosowany='1' where id_klient='$id_klient';") or die ("blad w update nagroda_dod");
  20. $tab_wyn[$i]=$id_nag_dod . ",";
  21. $i++;
  22. }
  23.  
  24.  
  25. }
  26.  
  27. }
  28. ?>


  1. $a=0;
  2.  
  3. foreach ($tab_wyn as $wartosci) {
  4. $wys_wyn=mysql_query("select * from nagroda_dod where id_nag_dod='$wartosci';") or die("blad w zapytaniu wyswietlanie wynikow");
  5.  
  6. while($wynik = mysql_fetch_array($wys_wyn, MYSQL_ASSOC)){
  7.  
  8.  $color=($a%2==0)?"#D6D6D6":"#FFFFFF";
  9. ?>
  10.  
  11. <tr bgcolor="<?php echo $color;?>">
  12. <td align="center"><font class="imienazwisko"><?php printf ("%s", $wynik["id_nag_dod"]);?></font></td>
  13. <td align="center"><font class="imienazwisko"><?php printf ("%s", $wynik["nazwisko"]);?></font></td>
  14. <td align="center"><font class="imienazwisko"><?php printf ("%s", $wynik["adres"]);?></font></td>
  15. <td align="center"><font class="imienazwisko"><?php printf ("%s %s", $wynik["kod"],$wynik["miasto_id"]);?></font></td>
  16. <td align="center"><font class="imienazwisko"><?php printf ("%s", $wynik["pesel"]);?></font></td>
  17. <td align="center"><input class="przycisk" type="submit" value="Pokaż"></td>
  18. </tr>
  19. <?php
  20. $a++;
dziurson
mógłbś to zrobić javascriptem. Robisz klasę w css, która domyślnie jest nie widoczna a później metodą onClick() zmieniasz ją na widoczną
maniaksz
no tak, ale czy da się w taki sposób odkrywać wiersze w wybranej kolejności, nie wszystkie na raz
dziurson
jeśli rozumiem to po kliknięciu pokaż ma się pokazać jedno, chwila przerwy i kolejne itd questionmark.gif
jeśli tak to się da
maniaksz
no właśnie o coś takiego mi chodzi. z cssem nie będę miał problemu, nieco gorzej będzie z javascript. wogóle myślałem o jakimś rozwiązaniu z wykorzystaniem php. jeśli ktoś ma jakieś inne pomyśly to będę wdzięczny
dziurson
w php nie zrobisz bo php jest interpretowane po stronie serwera. chyba że chcesz żeby to się co chwilę odświeżało i wyświetlało kolejne linijki ale to się raczej mija z celem.

  1. function pokaz(){
  2. for (i=0; i<5; i++){
  3. setTimeout("tu odsłanianie", 3000);
  4. }
  5. }


to do użycia się nie nadaje ale pokombinu z tym
maniaksz
Witam, prezentuje gotowe rozwiązanie:

  1. <script language="JavaScript" type="text/JavaScript">
  2.  
  3. var type = "IE";
  4.  
  5. BrowserSniffer();
  6.  
  7. function BrowserSniffer() {
  8. if (navigator.userAgent.indexOf("Opera")!=-1 && document.getElementById) type="OP";
  9. else if (document.all) type="IE";
  10. else if (document.layers) type="NN";
  11. else if (!document.all && document.getElementById) type="MO";
  12. else type = "IE";
  13. }
  14.  
  15.  
  16. function ShowLayer(id, action){
  17. if (type=="IE") eval("document.all." + id + ".style.visibility='" + action + "'");
  18. if (type=="NN") eval("document." + id + ".visibility='" + action + "'");
  19. if (type=="MO" || type=="OP") eval("document.getElementById('" + id + "').style.visibility='" + action + "'");
  20. }
  21.  
  22. </head>
  23. <a href="javascript:ShowLayer('Layer1','hidden')">pokaz</a><br>
  24. <a href="javascript:ShowLayer('Layer1','visible')">ukryj</a><br><br>
  25.  
  26. <div id="Layer1" style="position:absolute; left:400px; top:248px; width:200px; height:115px; z-index:7; visibility:hidden">jakis tekst</div>
  27. </body>
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.