![]() |
![]() |
![]()
Post
#1
|
|
![]() Vice-Administrator serwera Grupa: Przyjaciele php.pl Postów: 395 Pomógł: 0 Dołączył: 7.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Poniżej zamieszczam kody dwóch skryptów:
pozycje_fv.php [php:1:528a629295]<?php //skrypt generuje tabele z produktami i ich ilosciami. sluzy do wybrania //konkretnych pozycji z tablicy i podania ich ilosci. dane wysyla do //pozycje_fv2.php ktory to generuje nazwe wybranego za //pomoca checkboxu produktu i podana w INPUT TEXT ilosc //utworzenie tabelki z wartosciami z tablicy print("<table border><tr><td align=center></td>"); print("<td align=center>nazwa</td><td align=center>stawka vat</td><td align=center>"); print("ilosc na<br>magazynie</td><td>Ilość</td></tr>"); print("<form action="pozycje_fv2.php" method="POST">"); //tablica $pozycje jest dwuwymiarowa i zawiera nazwe produktu //stawke vat dla niego i ilosc. do INPUT TEXT wpisuje sie żądaną ilosc produktu foreach ($pozycje as $key1=>$value1) { //pozycje_wybrane[][0] to identyfikator danego checkboxa print ("<tr><td align=center><input type="checkbox" name="pozycje_wybrane[][0]" value="$value1[0]"></td>"); foreach ($value1 as $key2=>$value2) { print("<td align=center>$value2</td>"); } //pozycje_wybrane[][1] to identyfikator danego pola input text print("<td><input type=text NAME=pozycje_wybrane[][1] size=6></td>"); print("</tr>"); } print("</table>"); print("<input type="submit" value="ZatwierdĄ"></form>"); ?>[/php:1:528a629295] i pozycje_fv2.php [php:1:528a629295]<?php //wyswietlenie pozycji wybranych do fv foreach($pozycje_wybrane as $key=>$value) { foreach($value as $key2=>$value2) { print("$key2: $value2"); } print("<br>"); } print("<a href="pozycje_fv.php">wróć</a>"); ?>[/php:1:528a629295] problem tkwi w tym ze jezeli jest wiecej elementow dostepnych niz wybranych to w kodzie zwroconym przez drugi skrypt mam: 0: pozycja nr 1 1: ilosc (np: 15) 1: <----- to jest index od niezaznaczonego checkboxa i wlasnie jego chce sie pozbyc. Jezeli zaznacze wszystkie pozycje to sa one w formie: 0: nazwa1 1: ilosc1 0: nazwa2 1: ilosc2 ... itd mnie zaezy natomiast aby z cale tablicy wybrac tylko kilka i wygenerowac taki kod z gory dzieki za wszelkie podpowiedzi jak rozwiazac ten problem -------------------- |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Może [manual:b7087d551d]array_pop[/manual:b7087d551d]?
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Vice-Administrator serwera Grupa: Przyjaciele php.pl Postów: 395 Pomógł: 0 Dołączył: 7.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Cytat Może [manual:737ff8f5f1]array_pop[/manual:737ff8f5f1]?
niestety nie moze to byc bo jesli np mamy 3 elementy to przy zaznaczonych wszystkich jest: 0:nazwa1 1:ilosc1 0:nazwa2 1:ilosc2 0:nazwa3 1:ilosc3 a jezeli zaznaczymy pierwszy i ostatni to mamy: 0:nazwa1 1:ilosc1 1:ilosc2 <--- jezeli nie wpiszemy nic to jest puste a jak wpiszemy cos a nie zaznaczymy checkboxa to pojawi sie tu liczba 0:nazwa3 1:ilosc3 to jakos musi odrzucac niezaznaczone checkboxy Update (23:45) albo jakos w pierwszym skrypcie dynamicznie blokowac input text zeby nie dalo sie wpisac wartosci jesli nie jest zaznaczony checkbox (to jako dodatkowe zabezpieczenie przed wrzucaniem błędnych danych -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 22.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat albo jakos w pierwszym skrypcie dynamicznie blokowac input text zeby nie dalo sie wpisac wartosci jesli nie jest zaznaczony checkbox (to jako dodatkowe zabezpieczenie przed wrzucaniem błędnych danych
Da się to zrobić bez problemu w javascript. |
|
|
![]()
Post
#5
|
|
![]() Vice-Administrator serwera Grupa: Przyjaciele php.pl Postów: 395 Pomógł: 0 Dołączył: 7.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
ok co do javascriptu to temat na inne forum
a wiesz moze jak odrzucic elementy z niezaznaczonych checkboxow?? jakas petla to filtrowac?? -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 22.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat ok co do javascriptu to temat na inne forum
a wiesz moze jak odrzucic elementy z niezaznaczonych checkboxow?? jakas petla to filtrowac?? Może poprostu powiąż w jakiś logiczny sposób checkbox i pole tekstowe (np. poprzez nazwe). |
|
|
![]()
Post
#7
|
|
![]() Vice-Administrator serwera Grupa: Przyjaciele php.pl Postów: 395 Pomógł: 0 Dołączył: 7.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
przeciez sa te elementy powiazane za pomoca jednej zmiennej $pozycje_wybrane[][];
[php:1:0ab41c2e0d]<?php //pozycje_wybrane[][0] to identyfikator danego checkboxa print ("<tr><td align=center><input type="checkbox" name="pozycje_wybrane[][0]" value="$value1[0]"></td>"); foreach ($value1 as $key2=>$value2) { print("<td align=center>$value2</td>"); } //pozycje_wybrane[][1] to identyfikator danego pola input text print("<td><input type=text NAME=pozycje_wybrane[][1] size=6></td>"); print("</tr>"); ?>[/php:1:0ab41c2e0d] -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 22.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat przeciez sa te elementy powiazane za pomoca jednej zmiennej $pozycje_wybrane[][];
[php:1:4e4adb6908]<?php //pozycje_wybrane[][0] to identyfikator danego checkboxa print ("<tr><td align=center><input type="checkbox" name="pozycje_wybrane[][0]" value="$value1[0]"></td>"); foreach ($value1 as $key2=>$value2) { print("<td align=center>$value2</td>"); } //pozycje_wybrane[][1] to identyfikator danego pola input text print("<td><input type=text NAME=pozycje_wybrane[][1] size=6></td>"); print("</tr>"); ?>[/php:1:4e4adb6908] Więc o co chodzi? Sprawdzasz czy checkbox o tym samym indexie zostal zaznaczony - jesli tak przetwarzasz input. |
|
|
![]()
Post
#9
|
|
![]() Vice-Administrator serwera Grupa: Przyjaciele php.pl Postów: 395 Pomógł: 0 Dołączył: 7.08.2003 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
czyli cos w stylu:
[php:1:05ef936d70]<?php if($pozycje_wybrane[$counter][0] != NULL) { //ta lub inna petla $counter++; foreach($value as $key2=>$value2) { print("$key2: $value2"); } print("<br>"); } ?>[/php:1:05ef936d70] Cos takiego miales na mysli? -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 0 Dołączył: 22.03.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat czyli cos w stylu:
[php:1:f31791f424]<?php if($pozycje_wybrane[$counter][0] != NULL) { //ta lub inna petla $counter++; foreach($value as $key2=>$value2) { print("$key2: $value2"); } print("<br>"); } ?>[/php:1:f31791f424] Cos takiego miales na mysli? Być może... Nie zagłębiałem się w twój skrypt zbytnio. Ale mniejwięcej to. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:51 |