Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Mnozenie elementów talbic o takich samych indeksach., czy może lepiej "usuwanie dziur z tablicy"
Marr
post
Post #1





Grupa: Zarejestrowani
Postów: 103
Pomógł: 1
Dołączył: 19.08.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,
Mam taki problem: mam formularz zamówienia a w nim konkretne usługi w formie checkbox'ów. Teraz obok usługi jest mole sztuk. ,które traktuje jako mnożnik ceny usługi. Problem polega na tym, że tablica tworzona z checkbox'ów nie zawiera elementów odznaczonych checkboxów a co za tym idzie jeżeli zaznacze checkboxy uslugi nr1 i nr5 to tablica ma postac 1;5 a tymczasem tablica złożona z wartości inputów sztuk ma postać: 1;;;;2 i nie wiem w związku z tym jak odwoływać się do prawidłowego indeksu. Ma ktoś jakiś pomysł?

narazie robie coś takiego (co jest niepoprawne, ale wypada pokazać do czego doszedłem):
  1. <?php
  2. foreach ( $usluga as $ord_indeks => $kolejna_usluga ){
  3.        
  4.        $actindeks = $indeks+($wskaznik++);
  5.        $podzapytanie = mysql_query (&#092;"SELECT * FROM uslugi WHERE id=$kolejna_usluga\");
  6.    while ($podrekord = mysql_fetch_assoc ($podzapytanie)) {
  7.        $nazwa = $podrekord['nazwa'];
  8.        $nazwa = iconv(&#092;"UTF-8\", \"ISO8859-2\", $nazwa);
  9.        $cenanetto = $podrekord['cenanetto'];
  10.        $cenabrutto = $podrekord['cenabrutto'];
  11.        $vat = $podrekord['vat'];
  12.        $aktmnoznik = $mnoznik[$ord_indeks];
  13.        $idgr = $podrekord['idgr'];
  14.        $servicepricebrutto = $cenanetto*($vat/100);
  15. ?>


EDIT: Tak sobie pomyślałem, że sprawę rozwiązałoby mi usunięcie "dziur" z tablicy mnożnika. Może mi ktoś poradzić jak się to robi?

Ten post edytował Marr 29.09.2008, 15:04:35
Go to the top of the page
+Quote Post
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $tab1[1] = 5;
  3. $tab1[3] = 19;
  4.  
  5. // $tab2 - zdefiniowana od 0 do 128...
  6.  
  7. foreach($tab1 as $id => $v)
  8.    echo ( $v * $tab2[$id] );
  9. ?>


To przykład mnożenia takiego, jak w opisie. Pokombinuj z tym, a osiągniesz cel winksmiley.jpg

Ten post edytował sowiq 29.09.2008, 15:11:06
Go to the top of the page
+Quote Post
Marr
post
Post #3





Grupa: Zarejestrowani
Postów: 103
Pomógł: 1
Dołączył: 19.08.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Hmm no, ale przecież ja coś takiego właśnie mam. Z tym, że u mnie tab2 może zawierać u mnie dziury, np. 1;2;;;3 (bo jest tworzona przez zawartość inputów sklejanych w tablice) i wtedy cały proces mnożenia się sypie.

Ten post edytował Marr 29.09.2008, 15:16:28
Go to the top of the page
+Quote Post
sowiq
post
Post #4





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat
To przykład mnożenia takiego, jak w opisie. Pokombinuj z tym, a osiągniesz cel


Ja Ci podałem tylko przykład, a nie gotowe rozwiązanie. Zobacz jak to działa i przenieś na swój kod winksmiley.jpg
W podanym przeze mnie przykładzie tab1 jest tą 'dziurawą' tablicą, tab2 jest pełna.
Go to the top of the page
+Quote Post
Marr
post
Post #5





Grupa: Zarejestrowani
Postów: 103
Pomógł: 1
Dołączył: 19.08.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


hmm w sumie nie ogarnąłem, że ta pierwsza to jest dziurawa tablica. Może jest w tym jakiś sens -> popróbuje jutro.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 05:23