Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem ze zmiennymi
Forum PHP.pl > Forum > PHP
mariusz_d
Witam.
Mam problem - tworzę aplikację i po raz kolejny mam problem z zapsiywaniem wartości w zmiennych.
Próbowałem rozgryźć to z róznych stron ale nic nie wychodzi.
Podobnie - nie chciało mi przekazywać watości zmiennych formularza - pomogło HTTP_POST_VARS - dlaczego dopiero to skoro w php.ini mam właczone "register globals"?

W skrócie wygląda to tak
- tworzę sobie zmienną:
"
$tablica_partii_b=array();
global $tablica_partii_b;
"

w pętli zapsiuję do niej wynik zapytania i jednocześnie wyświetlam:
"
for ($i=0; $i<$ile_znalezionych; $i++)
{$wiersz=mysql_fetch_row($wynik);
if ($kolor == "#cccccc") $kolor = "#ffffff";
else $kolor = "#cccccc";
$tablica_partii_b[i][0]=$wiersz[0];
echo "<tr bgcolor=$kolor><td>";echo $tablica_partii_b[i][0]; echo "</td>";
$tablica_partii_b[i][1]=$wiersz[1];
echo "<td>"; echo $tablica_partii_b[i][1]; echo"</td>" ;
$tablica_partii_b[i][2]=$wiersz[2];
echo "<td>"; echo $tablica_partii_b[i][2]; echo "</td>" ;
$tablica_partii_b[i][3]=$wiersz[3]; }
echo "<td>"; echo $tablica_partii_b[i][3]; echo "</td>" ;
echo "<td> <input type=checkbox name=wybierz value=aa/> </td>";
echo "</tr>"; }
"
Tu działa pięknie, ale jak kilka linijek niżej próbuję wyświetklić coś ze zeminnej np:
"
echo "z tablicy";
echo $tablica_partii_b[1][1];
"
To wyświetla mi tylko napis "z tablicy"

Moż ecoś robię nie tak, ale z tymi zmiennymi w php w ogóle nie mogę dojść do ładu
Ludvik
Sformatuj poprawnie kod... Pytasz się o zakresy, a podajesz kawałki kodu bez umiejscowienia ich...

Poza tym global nie czyni zmiennej globalną, tylko informuje o włączeniu zmiennej globalnej do zakresu.

  1. <?php
  2. $zmienna = 1;
  3. function funkcja() {
  4. global $zmienna;
  5. echo $zmienna;
  6. }
  7. ?>


Lepiej używać tablicy GLOBALS.
mariusz_d
No to poprawiam:

  1. $tablica_partii_b=array();
  2. global $tablica_partii_b;
  3. $ile_znalezionych=mysql_num_rows($wynik);
  4. echo "Znaleziono "; echo $ile_znalezionych; echo " rozegranych partii <br>";
  5. //tabela wyświetlająca partie grane białymi
  6.  $kolor = "#cccccc";
  7.  echo "<tr bgcolor=$kolor><td><strong>Id_partii</strong></td>";
  8.  echo "<td><strong>Id-gracza_czarn</strong></td> ";
  9.  echo "<td><strong>Data rozgrywki</strong></td>"; 
  10.  echo "<td><strong>Wynik</strong></td>"; 
  11.  echo "<td><strong>Wybierz do wyświetlenia</strong></td> </tr>";
  12. for ($i=0; $i<$ile_znalezionych; $i++)
  13. {
  14. $wiersz=mysql_fetch_row($wynik);
  15. if ($kolor == "#cccccc") $kolor = "#ffffff"; 
  16. else $kolor = "#cccccc";
  17.  $tablica_partii_b[i][0]=$wiersz[0]; 
  18.  echo "<tr bgcolor=$kolor><td>";echo $tablica_partii_b[i][0]; echo "</td>";
  19.  $tablica_partii_b[i][1]=$wiersz[1];
  20.  echo "<td>"; echo $tablica_partii_b[i][1]; echo"</td>" ;
  21.  $tablica_partii_b[i][2]=$wiersz[2];
  22.  echo "<td>"; echo $tablica_partii_b[i][2]; echo "</td>" ;
  23.  $tablica_partii_b[i][3]=$wiersz[3]; }
  24.  echo "<td>"; echo $tablica_partii_b[i][3]; echo "</td>" ;
  25.  echo "<td> <input type=checkbox name=wybierz value=aa/> </td>";
  26.  echo "</tr>"; 
  27. }
  28. ?>
  29. </table> 
  30. <?
  31. echo "z tablicy";
  32. echo "$tablica_partii_b[1][0]";
  33. echo "$tablica_partii_b[1][1]";
  34. echo "$tablica_partii_b[1][2]";
  35. echo "$tablica_partii_b[1][3]";
Ludvik
W indeksach tablicy w pętli for używasz "i" zamiast $i. Jak masz wątpliwości, to pomóż sobie var_dump($tablica_partii_b) po pętli...
mariusz_d
Oczywiście - tyle razy patrzyłem i nie zauważyłem. aaevil.gif
Teraz działa.
Dzięki za pomoc. biggrin.gif
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.