![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 2.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tworze formularz zamowien pizzy, pobierajacy informacje z bazy danych. Problem polega na tym, ze po kliknieciu "zamawiam" zostaja wyslane tylko wartosci z ostatniej linii tabeli.
zamowienie.php: Kod $pizza = "select * from pizza"; $wpizza = mysql_query($pizza); $ile_znalezionych = mysql_num_rows($wpizza); echo '<form action="dodaniezamowienia.php" method="post">'; echo '<table>'; echo '<tr><th colspan="8">Pizza</th></tr>'; for ($i=1; $i<=$ile_znalezionych; $i++) { $wiersz = mysql_fetch_array($wpizza); echo '<tr>'; echo '<th>',$wiersz['nazwa'],'</th>'; echo '<td>',$wiersz['opis'],'</td>'; echo '<td><input type="text" name="mala" size="1"></td>'; echo '<td>',$wiersz['mala'],'</td>'; echo '<td><input type="text" name="srednia" size="1"></td>'; echo '<td>',$wiersz['srednia'],'</td>'; echo '<td><input type="text" name="duza" size="1"> <input type="hidden" name="nazwapizzy" value='.$wiersz['nazwa'].'></td>'; echo '<td>',$wiersz['duza'],'</td>'; echo '</tr>'; } echo '<tr><th colspan="8"><input type="submit" value="Zamawiam"></th></tr>'; echo '</table>'; echo '</form>'; } else { echo 'Niepoprawne dane.'; } dodaniezamowienia.php: Kod <?php
if ($mala >= 1) { echo $mala, ' mała ', $nazwapizzy; } if ($srednia >= 1) { echo $srednia, ' srednia ', $nazwapizzy; } if ($duza >= 1) { echo $duza, ' duza ', $nazwapizzy; } ?> |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 3 Dołączył: 5.05.2007 Skąd: Łańcut Ostrzeżenie: (0%) ![]() ![]() |
musisz zastosować coś takiego przy każdej wartości którą chcesz wysłać:
Przecież formularz samego <tr>'a nie wyśle (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował deceq 2.08.2008, 15:34:52 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 2.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niestety opcja z "hidden" w tym przypadku nie wychodzi. Problem polega na tym że wszystkie dane są przesyłane do następnej strony ale niestety pętla nie rozpoznaje wierszy i zawsze przesyła ostatni wiersz niezależnie ile by ich było. Wydaje mi się że potrzebuje coś w rodzaju "kotwicy" żeby każdy wiersz miał swój oddzielny identyfikator.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tworze formularz zamowien pizzy, pobierajacy informacje z bazy danych. Problem polega na tym, ze po kliknieciu "zamawiam" zostaja wyslane tylko wartosci z ostatniej linii tabeli. zamowienie.php: Nic dziwnego. Uruchom skrypt i wywołaj ten formularz, a potem zobaczysz, że w każdym wierszu tabeli powtarzają Ci się nazwy zmiennych w inputach. Ponieważ wartości się przekrywają zostaje tylko ta z ostatniego wiersza. Zgadza się? Żeby tego uniknąć należy zrobić tak:
Następnie do wysłanych danych odwołujesz się jak do tablicy. $_POST['mala'][1], $_POST['mala'][2],...,$_POST['duża'][1], $_POST['nazwapizzy'][1] itd. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:48 |