Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] wysyłanie do bazy na podstawie chechbox
borotix
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.09.2012

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


Witam wszystkich,

Mam taki problem z formularzem, otóż formularz jest rozbity na kategorie, każda kategoria ma swój checkbox po zaznaczeniu którego dane z pół "input" mają zostać przesłane do bazy. Jeżeli zaznaczam checkboxy pojedynczo to jest ok, natomiast jeżeli zaznaczę dwa(lub więcej) chceboxy, to do bazy wysyła dane z ostatniej zaznaczonej kategorii.

Tak wygłąda formularz:

CODE
<form action="raport_en.php" method="post">

<!-- Kategoria 1 -->

<input type="checkbox" value="Kategoria1" name="Kategoria_1" />

<textarea name="k1_p1" class="text_ar">Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum</textarea>

<textarea name="k1_p2" class="text_ar">Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum</textarea>

<!-- Kategoria 2 -->

<input type="checkbox" value="Kategoria2" name="Kategoria_2" />

<textarea name="k2_p1" class="text_ar">Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum</textarea>

<textarea name="k2_p2" class="text_ar">Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum</textarea>


<input type="submit" value="Wygeneruj raport">

</form>


A tak wygląda funkcja odpowiedzialna za wysyłanie do bazy:

CODE
<?php

function kategorie_send() {

$kategoria1=$_POST['Kategoria_1'];

$kategoria2=$_POST['Kategoria_2'];

if (empty($_POST) === false && empty($kategoria1) === false) {
mysql_query("INSERT INTO kategorie (Kategoria_1) VALUES('$kategoria1')");

}

if (empty($_POST) === false && empty($kategoria2) === false) {
mysql_query("INSERT INTO kategorie (Kategoria_2) VALUES('$kategoria2')");

}
}



?>


Z góry dziękuje za pomoc!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
bobo168
post
Post #2





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

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


Przy wysyłaniu checkboxów w name wpiszuje name="tablica[]" potem po tej tablicy lecisz foreachem.
Go to the top of the page
+Quote Post
borotix
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.09.2012

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


Dzięki za odpowiedź, nie jestem zbytnio ogarnięty w PHP, prosiłbym o przykład kodu.


Cytat(bobo168 @ 14.09.2012, 11:41:33 ) *
Przy wysyłaniu checkboxów w name wpiszuje name="tablica[]" potem po tej tablicy lecisz foreachem.

Go to the top of the page
+Quote Post
bobo168
post
Post #4





Grupa: Zarejestrowani
Postów: 201
Pomógł: 9
Dołączył: 23.08.2006

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


  1. <form action="raport_en.php" method="post">
  2.  
  3. <!-- Kategoria 1 -->
  4.  
  5. <input type="checkbox" value="Kategoria1" name="Kategoria_1[]" />
  6.  
  7. <textarea name="k1_p1" class="text_ar">Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum</textarea>
  8.  
  9. <textarea name="k1_p2" class="text_ar">Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum</textarea>
  10.  
  11. <!-- Kategoria 2 -->
  12.  
  13. <input type="checkbox" value="Kategoria2" name="Kategoria_2[]" />
  14.  
  15. <textarea name="k2_p1" class="text_ar">Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum</textarea>
  16.  
  17. <textarea name="k2_p2" class="text_ar">Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum, Lorem ipsum</textarea>
  18.  
  19.  
  20. <input type="submit" value="Wygeneruj raport">
  21.  
  22. </form>


  1. function kategorie_send() {
  2.  
  3. $kategoria1=$_POST['Kategoria_1'];
  4.  
  5. $kategoria2=$_POST['Kategoria_2'];
  6.  
  7.  
  8.  
  9. if (empty($_POST) === false && empty($kategoria1) === false) {
  10. foreach($kategoria1 as $k1)
  11. mysql_query("INSERT INTO kategorie (Kategoria_1) VALUES('$k1')");
  12.  
  13. }
  14.  
  15. if (empty($_POST) === false && empty($kategoria2) === false) {
  16. // analogicznie to samo dla kategoria1
  17. mysql_query("INSERT INTO kategorie (Kategoria_2) VALUES('$kategoria2')");
  18.  
  19. }
  20. }
  21.  
  22.  
  23.  
  24. ?>


Ten post edytował bobo168 14.09.2012, 11:13:33
Go to the top of the page
+Quote Post
borotix
post
Post #5





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 14.09.2012

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


Niestety nie rozwiązało to problemu.
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: 21.08.2025 - 01:33