Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tablica wielowymiarowa
Forum PHP.pl > Forum > PHP
pijanicki
Witam

Tworze tablice wielowymiarową zczytując dane z bazy MySQL
  1. <?php
  2. $i_zag = 0;
  3. $tr_zap1 = "SELECT * FROM $mysql_tabela WHERE calling='$login'"; 
  4. $zap1 = mysql_query($tr_zap1);
  5.  
  6. for ($j=0; $j<$wyn1; $j++) 
  7. { 
  8. $wiersz1 = mysql_fetch_array($zap1);
  9. $called = stripslashes($wiersz1['called']); 
  10. $calling = stripslashes($wiersz1['calling']); 
  11. $answertime = stripslashes($wiersz1['answertime']); 
  12. $date = stripslashes($wiersz1['date']); 
  13. $duration = stripslashes($wiersz1['duration']);
  14. $i_zag = $i_zag +1;
  15. $tab = array(array($called, $answertime, $date, $duration)); 
  16. }
  17.  
  18. //i podczas odczytu wyświetla tylko jeden element tablicy
  19. //podczas gdy powinno ich być 3. 
  20. for ($i=0; $i<$i_zag; $i++)
  21. { 
  22. for ($l=0; $l<4; $l++)
  23. { echo $zagr_array[$i][$l]; }
  24.  
  25.  
  26. }
  27. ?>



Jak to poprawić


-------------------------
do PHP są odpowiednie znaczniki BBCode
tym razem poprawiłem ale pamiętaj
i stosuj sie do tego na przyszłość
~Cienki1980
Cienki1980
A co to jest za zmienna $wyn1 , której używasz w pętli for questionmark.gif Masz ją gdzieś zadeklarowaną questionmark.gif
pijanicki
$wyn1 to ilość wyników

$tr_zap1 = "SELECT * FROM $mysql_tabela WHERE calling='$login'";
$zap1 = mysql_query($tr_zap1);
$wyn1 = mysql_num_rows($zap1);
Darti
  1. <?php
  2. $i_zag = 0;
  3. $tr_zap1 = "SELECT * FROM $mysql_tabela WHERE calling='$login'"; 
  4. $zap1 = mysql_query($tr_zap1);
  5.  
  6. while ($wiersz1 = mysql_fetch_array($zap1)){
  7. $called = stripslashes($wiersz1['called']); 
  8. $calling = stripslashes($wiersz1['calling']); 
  9. $answertime = stripslashes($wiersz1['answertime']); 
  10. $date = stripslashes($wiersz1['date']); 
  11. $duration = stripslashes($wiersz1['duration']);
  12. $tab = array(array($called, $answertime, $date, $duration)); 
  13. }
  14.  
  15. for ($i=0; $i<count($tab); $i++)
  16. { 
  17. for ($l=0; $l<4; $l++)
  18. { echo $tab[$i][$l]; }
  19.  
  20.  
  21. }
  22. ?>
pijanicki
niestety w tablicy $tab jest tylko pierwsza tablica, tzn $tab[0][],
a czy u Ciebie to działa Darti ?
Darti
Działa, ale tak samo jak u Ciebie, czyli $tab jest zastępowane za każdym obrotem while.
Spróbuj tak:
  1. <?php
  2. $tab[] = array($called, $answertime, $date, $duration);
  3. ?>
pijanicki
smile.gif Dzieki bardzo, działa
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.