Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zliczanie ilości $_POST o tej samej nazwie różniącą się ostatnią cyfrą
Marecki669
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


Witam,
mam problem otóż mam formularz zamówienia i jest w nim do podania nazwa produktu domyślnie jest jedno pole ale jest funkcja dodająca dodatkowe jedno pole. Domyślne pole ma nazwę $_POST['product_name'], każde następne ma nazwę $_POST['product_name_+1']. Formularz ten przesyłam do pliku PDF jako tabela i teraz chcę zrobić że tyle ile jest tych pól z produktami tyle będzie wierszy w tabeli i problem polega na tym że nie wiem jak zliczyć ile jest tych produktów. Dodając że liczba produktów do dodania jest nieokreślona można dodawać wiele produktów.

Kod z formularza:
  1. $addOrder_local .= '<div id="p_scents"><label>Nazwa produktu:</label><br><input type="text" name="product_name" value="'.$_POST['product_name'].'"><br></div><br>';
  2. $addOrder_local .= '<a href="#" id="addScnt"><h4>Dodaj następny produkt</h4></a><br>';


Kod dodający następne pole
  1. $(function() {
  2. var scntDiv = $('#p_scents');
  3. var i = $('#p_scents p').size() + 1;
  4.  
  5. $('#addScnt').live('click', function() {
  6. $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="product_name_' + i +'" value="" placeholder="" /></label> <a href="#" id="remScnt">Usuń</a></p>').appendTo(scntDiv);
  7. i++;
  8. return false;
  9. });
  10.  
  11. $('#remScnt').live('click', function() {
  12. if( i > 1 ) {
  13. $(this).parents('p').remove();
  14. i--;
  15. }
  16. return false;
  17. });
  18. });


Z góry dziękuję i pozdrawiam (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 16)
redeemer
post
Post #2





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Kod
<input ... name="product_name[]" ...>
  1. ...
  2. var_dump($_POST['product_name']);
  3. ...
Go to the top of the page
+Quote Post
Marecki669
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


Dobra dzięki jeden problem rozwiązany (IMG:style_emoticons/default/wink.gif)

a teraz następne bo to wyświetla tablice a teraz żeby zliczyło ile jest tych wyników w tablicy i podało ją do zmiennej bo chodzi mi o to żeby tyle ile jest produktów tyle razy się powtórzył wiersz czyli to:

  1. <tr>
  2. <td>&nbsp;</td>
  3. <td>&nbsp;</td>
  4. <td>&nbsp;</td>
  5. <td>&nbsp;</td>
  6. </tr>
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Pętla po tablicy to podstawy języka (np. foreach lub for + count).
Go to the top of the page
+Quote Post
Marecki669
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


Pomożecie z tym błędem, nie mogę znaleźć przyczyny

Błąd:
Parse error: syntax error, unexpected T_FOR in /home/****/public_html/system/mpdf/testpdf.php on line 21

  1. <?php
  2. include('mpdf.php');
  3.  
  4. $html = '
  5.  
  6. <table width="514" border="1">
  7. <tr>
  8. <td colspan="4">Kupujący: '.$_POST['nick'].'</td>
  9. <td width="127">Faktura: '.$fv.'</td>
  10. </tr>
  11. <tr>
  12. <td width="89">Nr transakcji</td>
  13. <td width="147">Nazwa przedmiotu (nr)</td>
  14. <td width="49">Sztuk</td>
  15. <td width="68">Cena</td>
  16. <td>Data sprzedaży</td>
  17. </tr>
  18. <tr>
  19. <td rowspan="'.$product_n ++.'">'.$_POST['nr_trans'].'</td>
  20. </tr>
  21. 'for ($i=0; $i < $product_n; $i++) { '
  22. <tr>
  23. <td>'.$_POST['product_name['.$i.']'].'</td>
  24. <td>'.$_POST['number['.$i.']'].'</td>
  25. <td>'.$_POST['prise['.$i.']'].'</td>
  26. <td>'.$_POST['date_of_sale'].'</td>
  27. </tr>
  28. '
  29. }'
  30. <tr>
  31. <td colspan="3">Koszty wysyłki</td>
  32. <td>&nbsp;</td>
  33. <td rowspan="2">&nbsp;</td>
  34. </tr>
  35. <tr>
  36. <td colspan="3">Suma do zapłaty</td>
  37. <td>&nbsp;</td>
  38. </tr>
  39. <tr>
  40. <td colspan="5"><p>Forma płatności:</p>
  41. <p>Sposób dostawy:</p></td>
  42. </tr>
  43. </table>';
  44.  
  45. $mpdf=new mPDF();
  46. $mpdf->WriteHTML($html);
  47.  
  48. $mpdf->Output('pdftest.pdf', 'D');
  49. ?>
Go to the top of the page
+Quote Post
Turson
post
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


zamknij całkowicie echo a dopiero pętla, czyli
echo '.....';
for(){

}
Go to the top of the page
+Quote Post
Marecki669
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


a coś mi chyba źle działa ta pętla bo nie pokazuje wartości zmiennych
Go to the top of the page
+Quote Post
Turson
post
Post #8





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Podejrzyj, co $_POST zawiera, bo podejrzewam, że ma być $_POST['product_name'][$i]
Go to the top of the page
+Quote Post
Marecki669
post
Post #9





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


wywołałem tą funkcją:
  1. var_dump($_POST['product_name']);


to pokazało:

  1. array(2) { [0]=> string(7) "Bateria" [1]=> string(5) "Ekran" }


a zrobienie tego
  1. $_POST['product_name']['.$i.']


nie pomogło

Ten post edytował Marecki669 13.06.2014, 23:08:32
Go to the top of the page
+Quote Post
Turson
post
Post #10





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


$_POST['product_name'][$i]
$_POST['product_name']['.$i.']

znajdź różnice (IMG:style_emoticons/default/facepalmxd.gif)

I włącz raportowanie błędów, bo już dawno powinno ci posypać "error undefined index..."

Ten post edytował Turson 13.06.2014, 23:16:03
Go to the top of the page
+Quote Post
Marecki669
post
Post #11





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


ahh sory działa. Dzięki (IMG:style_emoticons/default/wink.gif)

tylko teraz jeszcze przy '.$product_n ++.'

nie dodaje mi

Ten post edytował Marecki669 13.06.2014, 23:19:02
Go to the top of the page
+Quote Post
Turson
post
Post #12





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


A jak ma działać skoro nie zdefiniowałeś co to jest i ile wynosi $product_n, ponadto inkrementujesz wartość, która nie jest w żadnej pętli itd. więc nigdy nie urośnie.
Go to the top of the page
+Quote Post
Marecki669
post
Post #13





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


w drugim pliku mam $product_n = count($_POST['product_name']);
Go to the top of the page
+Quote Post
Turson
post
Post #14





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Wstaw po prostu
  1. <td rowspan="'.$product_n+1.'">'.$_POST['nr_trans'].'</td>
Go to the top of the page
+Quote Post
Marecki669
post
Post #15





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/flipface/public_html/system/mpdf/testpdf.php on line 19
Go to the top of the page
+Quote Post
Turson
post
Post #16





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. <td rowspan="'.($product_n+1).'">'.$_POST['nr_trans'].'</td>
*
Go to the top of the page
+Quote Post
Marecki669
post
Post #17





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 2.06.2012
Skąd: Jarocin

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


o to chodziło dzięki (IMG:style_emoticons/default/wink.gif)
Go to the top of the page
+Quote Post

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: 22.08.2025 - 23:15