Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Petla for... zapisanie wynikow, jak?
Forum PHP.pl > Forum > Przedszkole
gylopl
Witam!
Znalazlem skrypt, ktory nada sie jako przyklad do mojego problemu....
mam stronke... i najpierw chce zeby wykonaly sie wszystkie rzeczy w php, a potem je wyswietlam...i mam problem... otoz mam petle for, ale te wyniki wyswietlaja sie na gorze strony.... chcialbym dane z petli jakos zapisac a potem je wyswietlic... jak mam to zrobic?prosze o pomoc... ponizej petla

  1. <?php
  2. for($i=0;$obliczhppostaci > 0 && $obliczhppowora > 0; $i++)
  3. {
  4.  
  5. //SZNSA TRAFIENIA
  6. $szansatrafieniapotwora = ceil($obronapostaci / $atakpotwora);
  7. $szansatrafieniapostaci = ceil($obronapotwora / $atakpostaci);
  8. $szansatrafieniapotwora1 = rand($szansatrafieniapotwora, 100);
  9. $szansatrafieniapostaci1 = rand($szansatrafieniapostaci, 100);
  10.  
  11. //OBRAZENIA
  12. //Teraz są z przodu (opis pod kodem)
  13. if($szansatrafieniapotwora1 > 55) {
  14. $obrazeniapotwora = 0;
  15. $obliczhppostaci = $obliczhppostaci - $obrazeniapotwora;
  16. } else {
  17. $obrazeniapotwora = rand($obr_min_pot, $obr_max_pot);
  18. $obliczhppostaci = $obliczhppostaci - $obrazeniapotwora;
  19.  
  20. } if($szansatrafieniapostaci1 > 55) {
  21. $obrazeniapostaci = 0;
  22. $obliczhppowora = $obliczhppowora - $obrazeniapostaci;
  23. } else {
  24.    $obrazeniapostaci = rand($obrazenia_min, $obrazenia_max);
  25. $obliczhppowora = $obliczhppowora - $obrazeniapostaci;
  26. }
  27.  
  28. $tura++;
  29.  
  30.  
  31. ?>
  32. TE RZECZY CHCE ZAPISAC! tzn np. jak jest 5 tur i walka skonczona  to chce wyswietlic te 5 tur... jak 20 tur to zapisac 20 tur i potem je wyswietlic....
  33.  
  34. <tr align="center" bgcolor="blue" >
  35. <td><font color="white"><? echo $nazwapostaci; ?></font></td>
  36. <td> <font color="white"><?
  37.       if ($obliczhppostaci < 0) echo "Zginął"; else echo "".$obliczhppostaci." / ".$hppostacicale.""; ?></font></td>
  38. <td><font color="white"><?  if($obrazeniapostaci == 0) { echo "<font color=white><b>Chybił</b></font>"; } else { echo $obrazeniapostaci; } ?></font></td>
  39.  
  40.  
  41. <td ><b><font color="white"><? echo $tura ?></font></b></td>
  42.  
  43.  
  44. <td><font color="white"><?
  45.      if ($obliczhppowora < 0) echo "Zginął"; else echo "".$obliczhppowora." / ".$hppotwora.""; ?></font></td>
  46. <td><font color="white"><? if($obrazeniapotwora == 0) { echo "<font color=white>Chybił</font>"; } else { echo $obrazeniapotwora; } ?></font></td>
  47. <td><font color="white"><? echo $nazwapotwora; ?></font></td>
  48.  
  49. </tr>
  50.  
  51. <?php
  52. }
  53. ?>
  54.  
  55. ->kod html
kantek
Nie rozumiem za bardzo tego twojego problemu:
Cytat
otoz mam petle for, ale te wyniki wyswietlaja sie na gorze strony.... chcialbym dane z petli jakos zapisac a potem je wyswietlic... jak mam to zrobic?


wyniki zapisujesz w zmiennych i wyświetlane są tam gdzie Ty chcesz exclamation.gif
np. przez echo $nazwa_twojej_zmiennej;

(poza tym w tej pętli for nic się nie wyświetla - tylko warunki i obliczenia)

Jeżeli nie o to chodzi to proszę sprecyzuj swoje pytanie.

Pozdrawiam
gylopl
  1. <?php
  2. for($i=0;$obliczhppostaci > 0 && $obliczhppowora > 0; $i++)
  3.  {
  4.  //SZNSA TRAFIENIA
  5.  $szansatrafieniapotwora1 = rand($szansatrafieniapotwora, 100);
  6.  $szansatrafieniapostaci1 = rand($szansatrafieniapostaci, 100);
  7.  
  8.  //szansa moja a zarazem potwora
  9.  if($szansatrafieniapotwora >= 3) {
  10.  $szansa1=rand(0,100);
  11.      if($szansa1>10){
  12.  $obrazeniapotwora = 0;
  13.  $obliczhppostaci = $obliczhppostaci - $obrazeniapotwora;
  14.                  }else{
  15.  $obrazeniapotwora = rand($obr_min_pot, $obr_max_pot);
  16.  $obliczhppostaci = $obliczhppostaci - $obrazeniapotwora;
  17.  }                
  18.  }
  19.  //tu jeszcze kilka obliczen
  20.  
  21.  $tura++;
  22.  if($tura==21){
  23.  break;
  24.  }
  25.  
  26.  
  27.  echo'<tr id="tabela4">
  28.  ';
  29.  
  30.  echo'<td width="110" height="20"><div align="center">';if  ($obliczhppostaci < 0) echo "Zginął"; else echo  "".$obliczhppostaci." / ".$hppostacicale."";echo  '</div></td>';
  31.  echo '<td width="60" height="20"><div  align="center">';if($obrazeniapostaci == 0) { echo "Chybił"; } else  { echo $obrazeniapostaci; } echo'</div></td>';
  32.  
  33.  
  34.  echo '<td width="50" height="20"><div align="center"><strong>'.$tura.'</strong></div></td>';
  35.  
  36.  echo '<td width="60" height="20"><div  align="center">';if($obrazeniapotwora == 0) { echo "Chybił"; } else  { echo $obrazeniapotwora; } echo  '</strong></div></td>';
  37.  echo '<td width="110" height="20"><div align="center">'; if  ($obliczhppowora < 0) echo "Zginął"; else echo "".$obliczhppowora."  / ".$hppotwora.""; echo'</div></td>';
  38.  echo '
  39.  
  40.  </tr>';
  41.  }
  42. ?>


prosze... to jest moj aktualny plik... jak widzisz kantek w petli wykonuja sie obliczenia i wyswietla sie <td>, i te wszystkie <td> chce jakos zapisac zeby moc je wyswietlic na samym dole strony....jak to zapisac do zmiennej?
Lion_87
może zapisuj do tablicy
  1. <?php
  2. for($i=0;$obliczhppostaci > 0 && $obliczhppowora > 0; $i++)
  3. {
  4. ...
  5. $tablica_ktora_wyswietlisz_na_dole[] = ""; //tu dane do tablicy
  6. ...
  7. }
  8. ?>
kantek
Proszę rozwiązanie i sorki za niedopatrzenie poprzednio uznałem że pętla for kończyła się przed tabelkami

w pętli for dajesz sobie przechwytywanie zmiennych do tablicy wielowymiarowej
(1 element tablicy zawiera w sobie inną tablicę):

daję przykład tylko dla 2 wartości (hppostaci i potwora), Ty sobie dopisz resztę danych obliczanych w pętli

kod wrzucasz sobie do pętli:
  1. <?php
  2. $tablica[$tura]=array('hppostaci'=>$obliczhppostaci, 'hppotwora'=>$hppotwora); //dodaj reszte danych
  3. ?>


pomijasz wyświetlanie w pętli (wywalasz tabelki smile.gif ) i teraz gdzie chcesz możesz sobie wyświetlić tą tablicę

przykład: wyświetl stan walki w poszczególnych turach:
  1. <?php
  2. for($i=1; $i<$tura; $i++){
  3. echo 'tura'.$i.'<br />';
  4. echo 'hppostaci: '.$tablica[$i]['hppostaci'];
  5. echo '<br />hppotwora: '.$tablica[$i]['hppotwora'].'<br />';
  6. echo '_______________________________<br />';
  7. }
  8. ?>


Pozdrawiam
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.