Jak najlepiej zapisać dane do bazy mysql z pól typu checkbox

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
ONEY
Nowy
Nowy
Posty: 77
Rejestracja: ndz wrz 12, 2004 6:23 pm
Lokalizacja: BB

Jak najlepiej zapisać dane do bazy mysql z pól typu checkbox

Post autor: ONEY »

Mam problem taki, że nie wiem jak najlepiej i najłatwiej zapisać dane do bazy dancyh z pól typu checkbox...
Mam dużo takich pól i chce żeby wszystkie value z tych pól które zaznaczyłem zostały zapisane do jednego pola w bazie dancyh i żeby były oddzielone od siebie dowolnym sepatorem

Thx :)
Twardy
Posty: 7
Rejestracja: czw gru 30, 2004 9:52 pm

Re: Jak najlepiej zapisać dane do bazy mysql z pól typu checkbox

Post autor: Twardy »

Wszystko zalzne jest od tego jak nazywasz (name) te pola. Jezeli ich nazewnictwo sklada sie z samych cyfr, np:

Kod: Zaznacz cały

<input type="checkbox" name="1" vslue="costam1">
<input type="checkbox" name="2" value="costam2">
<input type="checkbox" name="3" value="costam3">
To po wyslaniu formularza wystarczy pobrac wszystkie dane w jeden lanuch i zaladowac do bazy, np:

[php]<?php
$x=1;
$s='';

while (!empty($_POST[$x])) {
$s .= $_POST[$x].'|';
$x++;
}
$s = @substr($s,0,-1); //usuwanie ostatniego separatora

mysql_query("INSERT INTO tabela (dana) VALUES ('$s')");
?>[/php]
ONEY
Nowy
Nowy
Posty: 77
Rejestracja: ndz wrz 12, 2004 6:23 pm
Lokalizacja: BB

Re: Jak najlepiej zapisać dane do bazy mysql z pól typu checkbox

Post autor: ONEY »

NIe wiem dlaczego ale ten porzykład nie chce mi działać...
Może błąd leży po mojej stronie ale prosze przeanalizować ten skrypt!!
Twardy
Posty: 7
Rejestracja: czw gru 30, 2004 9:52 pm

Re: Jak najlepiej zapisać dane do bazy mysql z pól typu checkbox

Post autor: Twardy »

Dziala, ale maly blad zrobilem - pisalem to tak z pod palucha. Teraz bedzie lepiej, zobacz:

Kod: Zaznacz cały

<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=ISO-8859-2">
</HEAD>
<BODY>
<?
 define('_MAX_','3'); //ilosc checkboxow
 $x=1;


 while ($x<=_MAX_) {
  if (!empty($_POST[$x])) echo $_POST[$x].'<br>';
  $x++;
 }

?>
<FORM action="" method=POST id=form1 name=form1>
<INPUT type="checkbox" name="1" value="costam1"><br>
<INPUT type="checkbox" name="2" value="costam2"><br>
<INPUT type="checkbox" name="3" value="costam3"><br>
<INPUT type="submit" value="wyslij">
</FORM>
</BODY>
</HTML>
ONEY
Nowy
Nowy
Posty: 77
Rejestracja: ndz wrz 12, 2004 6:23 pm
Lokalizacja: BB

Re: Jak najlepiej zapisać dane do bazy mysql z pól typu checkbox

Post autor: ONEY »

Wielkie dzieki!!
Teraz wysztko działa !! :D
ODPOWIEDZ