Temat: Problem z przesłaniem kliku pól checkbox do pola bazy sql
Hmm.. Czyli tak:
To jest pełen formularz do wysłania:
<form enctype="multipart/form-data" action="" method="post">
<fieldset>
Transfer: <br></br>
Ilość pasażerów: <input size="2" type="text" name="ilosc_pasazerow" /><br /><br />
<?php
// odbieramy dane z formularza
$typ_auta = trim($_GET['typ_auta']);
echo 'Opcje wyposazenia:</br>';
// parametry serwera
$serwer = "mysql.cba.pl"; // nazwa serwera mysql
$login = "marcin142"; // login do bazy
$haslo = "marcin142"; // haslo do bazy
$baza = "chm_cba_pl"; // nazwa bazy
$tabela = "tb_opcje_wyposazenia"; // nazwa tabeli
if ($typ_auta)
{
// łączymy się z bazą danych
if (mysql_connect($serwer, $login, $haslo) and mysql_select_db($baza)) {
// zapytanie do bazy danych
$wynik = mysql_query("SELECT * FROM tb_opcje_wyposazenia WHERE typ_auta LIKE '$typ_auta'")
or die("Błąd w zapytaniu!");
mysql_close();
}
else echo "Nie mogę połączyć się z bazą danych!";
// wyświetlany wyniki zapytania
while($rek = mysql_fetch_array($wynik))
{
echo "</br>";
echo $rek['nazwa']. "<input type=checkbox name=";
echo "opcje[] value=";
echo $rek['nazwa']. ">";
echo $rek['cena'].".00 PLN";
}
}
?>
<fieldset>
</br></br><input value="Dalej" type="submit"></form>
a to skrypt odbierający go również pełen:
<?php
$ilosc_pasazerow = $_POST['ilosc_pasazerow'];
$id = trim($_GET['id']);
if($id and $ilosc_pasazerow and count($_POST)) {
// parametry serwera
$serwer = "mysql.cba.pl"; // nazwa serwera mysql
$login = "marcin142"; // login do bazy
$haslo = "marcin142"; // haslo do bazy
$baza = "chm_cba_pl"; // nazwa bazy
$tabela = "tb_rezerwacje"; // nazwa tabeli
// łączymy się z bazą danych
$connection = @mysql_connect('mysql.cba.pl', 'marcin142', 'marcin142')
or die('Brak połączenia z serwerem MySQL');
$db = @mysql_select_db('chm_cba_pl', $connection)
or die('Nie mogę połączyć się z bazą danych');
if (!empty($_POST[opcje])) {
foreach ($_POST[opcje] as $pozycja) {
echo "zaznaczyłeś: $pozycja<br/>";
}
}
// dodajemy rekord do bazy
$ins = @mysql_query("UPDATE tb_rezerwacje SET ilosc_pasazerow='$ilosc_pasazerow' , opcje_wyposazenia='$pozycja' WHERE id='$id' ");
// ID dodanego rekordu
$id = mysql_insert_id();
if($ins) echo "Rekord został dodany poprawnie!";
else echo "Błąd nie udało się dodać nowego rekordu";
mysql_close($connection);
}
?>
Pierwszy raz korzystam ze znaczników od wklejania kodu także mam nadzieję, że nie wywali kodu na wierzch:)