Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyświetlenie tablicy problem
Forum PHP.pl > Forum > Przedszkole
szczabik
Wyświetlenie tablicy problem



Witam pobieram dane z bazy w taki sposób
  1. <?php
  2. while ($dane = mysql_fetch_assoc($result))
  3. {
  4. <input type='texbox' name='nazwa['".$dane['id']."']' value='".$dane['rang_name']."'>
  5. <input type='texbox' name='points[]' value='".$dane['rang_points']."'>";
  6. }
  7. ?>


I potem chciał bym wyświetlić dane za pomocą foreach ale za każdym razem wywala błąd

Jak dam print_r($_POST); to wyświetla takie coś

Array ( [nazwa_] => bywalec [points] => Array ( [0] => 32 [1] => 56 ) [edit] => Zapisz )

Jak mogę wyświetlić taką tablice za pomocą foreach aby w otrzymac wynik
nazwa_rangi id liczba_pkt ? Może ktoś pomóc ?
piotrooo89
zamiast

  1. <?php
  2. name='nazwa['".$dane['id']."']'
  3. ?>


daj

  1. <?php
  2. name='nazwa[]'
  3. ?>


btw. co to jest: type='texbox'
szczabik
No tak tylko jak mam teraz przekazac id ?
piotrooo89
nie rozumiem? pokaż jak chcesz zeby to wyglądało.
szczabik
Zrobiłem tak
  1. <?php
  2. while ($dane = mysql_fetch_assoc($result))
  3. {
  4. <input type='texbox' name='nazwa['".$dane['id']."']' value='".$dane['rang_name']."'>
  5. <input type='texbox' name='points[]' value='".$dane['rang_points']."'>
  6. <input type='hidden' name='id' value='".$dane['id']."'>";
  7. }
  8. ?>


I dając print_r($_POST);

Wyświetla

Array ( [nazwa] => Array ( [0] => test [1] => testscik ) [points] => Array ( [0] => 2 [1] => 7 ) [id] => 2 [edit] => Zapisz )

I jak mam teraz użyć foreach aby dostać nazwe id oraz points


Próbowałes też takie coś

  1. <?php
  2. $ile = count($_POST['nazwa']);
  3. for ($i = 1; $i <= $ile; $i++) {
  4. echo $_POST['nazwa'][$i].' '.$_POST['points'][$i].' '.$_POST['id'][$i].'<br>';
  5. }
  6. ?>



Ale wywala błądy
gcdreak
Jeśli urzywasz cudzysłowów (podwójne uszy) to nie muszisz zamykać ciągów przed i otwierać po zamiennych tylko wpisujesz je wewnątrz.
szczabik
No tak ale jak mam te tą tablice teraz wyswietlic aby otrzymac id nazwe oraz points ?
gcdreak
Zacznikjmy od tego, że w pętli ustawiasz zmienną $i na zero:
Kod
$i = 0
szczabik
No dałem na 0 i dalej błedy wywala
krzysiekk
witam Ty pobierasz jeden rekord z bazy
czy wiele rekordow ?

prosze pokaz caly kod z zapytaniem do bazy
bmL
Oprócz
Cytat(gcdreak @ 23.06.2009, 14:12:05 ) *
Zacznikjmy od tego, że w pętli ustawiasz zmienną $i na zero:
Kod
$i = 0

Trzeba poprawić warunek logiczny czy jak to zwał
Kod
$ile = count($_POST['nazwa']);
for ($i = 0; $i < $ile; $i++) {
echo $_POST['nazwa'][$i].' '.$_POST['points'][$i].' '.$_POST['id'][$i].'<br>';
}
szczabik
Robiłem juz tak wczesniej i to działa ale wywala błąd
Kod
Notice: Uninitialized string offset: 1 in C:\Program Files\WebServ\httpd-users\fusion\infusions\eps\eps_settings.php on line 121


Ktoś wie czemu ten błąd sie pojawia ?
bmL
$_POST['id'] nie jest tablicą.
  1. <?php
  2. <input type='texbox' name='nazwa['".$dane['id']."']' value='".$dane['rang_name']."'>
  3. <input type='texbox' name='points[]' value='".$dane['rang_points']."'>
  4. <input type='hidden' name='id[]' value='".$dane['id']."'>";
  5. ?>
szczabik
Ok działa dzieki za pomoc
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.