Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmienne
MarcinKostrzewa2
post
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


Mam poniższy prosty kod

  1. if (isset($_POST['tablica'])) {
  2. $tab = '$'.$_POST['tablica'];
  3. echo "<center><table>";
  4. for ($x=0;$x<count($tab);$x++) {
  5. echo "<tr><td style='width:400px;'>";
  6. echo $tab[$x];
  7. echo "</td>";
  8. $x++;
  9. echo "<td>";
  10. echo $tab[$x];
  11. echo "</td></tr>";
  12. }
  13. echo "</table></center>";
  14. return;
  15. }


1. isset odbiera literkę a
2. W zmiennej $tab jest $a.
3. Po wywołaniu for w response otrzymuje tekst $a, a ja potrzebuje wyniki tablicy.

Dodam że jeśli zamiast zmiennej $tab wpisze w for $a to w response otrzymuje wyniki z tablicy $a.
$tab zachowuje się jak tablica gdyż response dokładnie wygląda tak że najpierw pisze $ a poźniej a.

Gdzie problem??

Ten post edytował MarcinKostrzewa2 13.06.2011, 19:04:07
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
mat-bi
post
Post #2





Grupa: Zarejestrowani
Postów: 690
Pomógł: 92
Dołączył: 6.02.2011

Ostrzeżenie: (0%)
-----


$tab = '$'.$_POST['tablica'];

Rzutowanie z tablicy na string
Go to the top of the page
+Quote Post
MarcinKostrzewa2
post
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


więc jak powinna wyglądać ta linijka kodu? Bo po prostu nie wiem
Go to the top of the page
+Quote Post
blooregard
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Po prostu usuń to '$'
Go to the top of the page
+Quote Post
MarcinKostrzewa2
post
Post #5





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


nie pomogło
Go to the top of the page
+Quote Post
Fifi209
post
Post #6





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Pokaż formluarz, pokaż dane (po przesłaniu je wyprintuj np. print_r czy var_dump pokaż kod po edycjach.
Go to the top of the page
+Quote Post
singollo
post
Post #7





Grupa: Zarejestrowani
Postów: 47
Pomógł: 1
Dołączył: 25.11.2003

Ostrzeżenie: (0%)
-----


Zgaduję, że chodzi ci o coś takiego:
  1. $a = array(1, 2, 3); // tablica zdefiniowana gdzieś wcześniej
  2. $b = $$_POST['tablica']; // zwróć uwagę na podwójne $; $_POST['tablica'] == 'a';
  3.  

Co ma zwrócić:
Kod
array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }


Ten post edytował singollo 13.06.2011, 22:03:26
Go to the top of the page
+Quote Post
MarcinKostrzewa2
post
Post #8





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


blooregard pomogło. Już wiem co sknociłem.

Poprawny zapis to:

  1. if (isset($_POST['tablica'])) {
  2. $tab = $_POST['tablica'];
  3. $zet = $$tab;
  4.  
  5. echo "<center><table>";
  6. for ($x=0;$x<count($zet);$x++) {
  7. echo "<tr><td style='width:400px;'>";
  8. echo $zet[$x];
  9. echo "</td>";
  10. $x++;
  11. echo "<td>";
  12. echo $zet[$x];
  13. echo "</td></tr>";
  14. }
  15. echo "</table></center>";
  16. return;
  17. }


i wszystko działa ja należy

Ten post edytował MarcinKostrzewa2 13.06.2011, 22:04:53
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 17:17