Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> O jeden element za dużo w tablicy - jak się go pozbyć??
PMadej
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
PMadej
post
Post #2


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
Go to the top of the page
+Quote Post

Posty w temacie


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: 25.08.2025 - 16:01