Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Przesylanie tablic za pomocą formularza - problem
Forum PHP.pl > Forum > PHP
PMadej
Mam formularz którego kod zamieszczam poniżej. Ma on zebrać informacje o pozycjach do wstawienia do fv i przeslania ich do pliku sprzedaz.php. Gdy niezarejestruje w sesji zmiennej pozycje_fv to w pliku sprzedaz.php wyswietla mi sie tylko
Kod
Array ( [0] => Array ( [9] => 2 [10] => 21 ) [1] => Array ( [9] => 26 [10] => 211


natomiast jesli ja zarejestruje to otrzymam wyniki tylko dla argumentow od $pozycje_fv[x][0] do $pozycje_fv[x][8] gdzie x to numer wiersza.

Czy mam przesylac informacje z pol 0-8 za pomoca input hidden? nie wydaje mi sie jednak to najlepszym rozwiazaniem. Ale nie wiem jak do sesji dopisac pola 9 i 10. Kolejnym problemem z sesja jest to ze jezeli chce zmienic pozycje na fv a juz do sesji sa zapisane jedne dane to nie aktualizuje ich tylko dopisuje jako kolejny wiersz dla tej tablicy. Z gory dzieki za podpowiedz jak rozwiazac ten problem.

A tu jest czesc kodu odpowiedzialna za to o czym pisalem:
[php:1:9a5fb35ce8]<?php
$wynik3= mysql_query($zapytanie3,$dblink);

if(!$wynik3)
{
print("Blad ! <br><br >n");
print("error number :".mysql_errno()."<br />");
print(mysql_error()."<br />");
}
//tabela z pozycjami wybranymi do wstawienia do fv rozbudowana do formularza
print("<br /><br /><table border bgcolor=#DBDBDB><tr><td align=center></td>");
print("<td align=center>nazwa</td><td>PKWiU</td><td>j.m.</td><td align=center>stawka vat</td>");
print("<td>cena hurt<br />netto 1</td><td>cena hurt<br />netto 2</td><td>Cena netto<br/>");
print("sprzedaży</td><td align=center>ilosc na<br>magazynie</td><td>Ilość</td></tr>");
print("<form action="sprzedaz.php" method="POST">");
$licznik =1;//numeruje pozycje na fv

//pobieranie wierszy z bazy danych
while($dbRow4 = mysql_fetch_row($wynik3))
{
//przypisanie danych z bazy do tablicy pozycje_fv
$licznik_poz=$licznik-1;//numeruje indeksy wierszy w tablicy pozycje_fv
$pozycje_fv[$licznik_poz][0] = $dbRow4[0];
$pozycje_fv[$licznik_poz][1] = $dbRow4[1];
$pozycje_fv[$licznik_poz][2] = $dbRow4[2];
$pozycje_fv[$licznik_poz][3] = $dbRow4[3];
$pozycje_fv[$licznik_poz][4] = $dbRow4[4];
$pozycje_fv[$licznik_poz][5] = $dbRow4[5];
$pozycje_fv[$licznik_poz][6] = $dbRow4[6];
$pozycje_fv[$licznik_poz][7] = $dbRow4[7];
$pozycje_fv[$licznik_poz][8] = $dbRow4[8];

//wyswietlenie pozycji
print("<tr><td>".$licznik . "</td><td>".$dbRow4[2]."</td>");
print("<td>."$dbRow4[5]."</td><td>".$dbRow4[4]."</td><td align=center>".$dbRow4[3]." %</td>");
print("<td>".$dbRow4[6]."</td><td>".$dbRow4[7]."</td><td><input type="text" name="");
print("pozycje_fv[".$licznik_poz."][9]" value="".$dbRow4[6]."" size=5/></td><td>".$dbRow4[8]."</td>");
print("<td><input type="text" name="pozycje_fv[".$licznik_poz."][10]"size=5/></td></tr>");
$licznik++;

}
print("</table>");
//wysylanie formularza
print("<input type="submit" value="Zatwierdź"/></form>");

}

?>[/php:1:9a5fb35ce8]

Update: poprawiłem trochę czytelność kodu, na tyle na ile umiałem
spenalzo
Hm... za bardzo nie rozumiem problemu. Jak możesz to opisz to szerzej i bardziej zrozumiale.
cahe
No i czy musisz koniecznie laczyc php z html? To okrutnie zmiensza czytelnosc...
PMadej
Sproboje wyjasnic dokladniej o co mi chodzi i w czym mam problem.

Tworze tabele ze zintegrowanymi 2 polami tekstowymi formularza.
Dane z wierszy z bazy danych przypisuje do tablicy $pozycje_fv o indeksach [x][0] do [x][8] gdzie x to numer wiersza. Nastepnie uzytkownik dopisuje do tej tablicy za pomoca formularza do kazdego wiersza po dwa pola czyli [x][9] i [x][10]. I tu napotykam na problem.

Gdy nie rejestruje zmiennej w sesji to do pliku sprzedaz.php zostana przekazane tylko wszystkie pola o indeksach [x][9] i [x][10] natomiast te ktorym przypisalem wartosci poza formularzem nie zostaja przekazane.

Z drugiej strony gdy zarejestruje zmienna $pozycje_fv w sesji to zapisane sa tam tylko pola [x][0] do [x][8] natomiast pol ktore wypelniam przez formularz nie dopisuje, czego konsekwencja jest ze w pliku sprzedaz.php jako zawartosc tablicy $pozycje_fv mam pola [x][0] do [x][8] a pol [x][9] i [x][10] nie ma wogole.

Zastanawialem sie nad rozwiazaniem tego problemu za pomoca pol <input type="hidden" value="$pozycje[x][0]> i tak dalej do [x][8] ale nie wydaje mi sie to najlepszym rozwiazaniem.

Drugi pomysl to sesje, ale tu nie wiem jak dopisac pola [x][9] i [x][10] do pliku sesji.

Z gory dzieki za podpowiedz
PMadej
szkoda, że nikt nie potrafi mi pomóc. Może jakośsam znajdę rozwiązanie tego problemu...
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.