※ ChatGPTを利用し、要約された質問です(原文:チェックボックスの値をデータベースに登録)
チェックボックスの値をデータベースに登録する方法とは?
このQ&Aのポイント
現在PHP+MySQLで会員登録するためのフォームを作っているのですが、携帯用フォームからデータをデータベースに登録する際にチェックボックスがあるのですが、チェックした値を一つしか登録することができず悩んでいます。
質問者は初心者に近いため、具体的な解決方法がわかりません。どのようにチェックボックスの値をデータベースに登録することができるのか、詳細な手順やコードの修正点を教えていただけると助かります。
また、質問者はメルマガを希望する店舗を複数選択するためにチェックボックスを使用しています。どのように複数の値をデータベースに保存することができるのかも教えていただけると助かります。
お世話になります。
現在PHP+MySQLで会員登録するためのフォームを
作っているのですが、携帯用フォームからデータを
データベースに登録する際にチェックボックスが
あるのですが、チェックした値を一つしか登録する
事が出来ず悩んでおります。以下にソースを
記載させて頂きます。
初心者に近いもので、何卒よろしくお願い致します。
HTML側
<form action="test.php" method="post">
性別<br />
<select name="sex">
<option value="男性" selected>男性</option>
<option value="女性">女性</option>
</select>
<br />
年代<br />
<select name="etc1">
<option value="10代" selected>10代</option>
<option value="20代">20代</option>
<option value="30代">30代</option>
<option value="40代">40代</option>
<option value="50代">50代</option>
<option value="60代">60代</option>
<option value="70代以上">70代以上</option>
</select>
<br />
誕生月<br />
<select name="birthday">
<option value="1月" selected>1月</option>
<option value="2月">2月</option>
<option value="3月">3月</option>
<option value="4月">4月</option>
<option value="5月">5月</option>
<option value="6月">6月</option>
<option value="7月">7月</option>
<option value="8月">8月</option>
<option value="9月">9月</option>
<option value="10月">10月</option>
<option value="11月">11月</option>
<option value="12月">12月</option>
</select>
<br />
メルマガをご希望の店舗を選択してください(複数可)<br />
<input type="checkbox" name="etc2[]" value="店舗1">
店舗1<br />
<input type="checkbox" name="etc2[]" value="店舗2">
店舗2<br />
<input type="checkbox" name="etc2[]" value="店舗3">
店舗3
<input type="hidden" name="mail" value="<? echo $_GET['no'] ?>"><br />
<input type="submit" name="sub" value="送信"><br />
</form>
php側
<?
require("../ini/dbconnect.ini");
require("../ini/common.ini");
$db = dbConnect(); //データベース接続
$mail = $_POST['mail'];
mysql_query("set character set sjis");
$nsql = "SELECT * FROM users WHERE no = '$mail'";
$nresult = mysql_query($nsql); // selectを実行
$nrows = mysql_num_rows($nresult); // 行数を取得
if($nresult == false) {
}elseif($nrows == 0){
}else{
while ($comm = mysql_fetch_array($nresult)) {
$add = $comm[keimail ];
}
$isql = "UPDATE users SET ";
$isql .= "sex = '".mb_convert_encoding($_POST['sex'],'euc-jp','auto')."'";
$isql .= ",birthday = '".mb_convert_encoding($_POST['birthday'],'euc-jp','auto')."'";
$isql .= ",etc1 = '".mb_convert_encoding($_POST['etc1'],'euc-jp','auto')."'";
$isql .= ",etc2 = '".mb_convert_encoding($_POST['etc2'],'euc-jp','auto')."'";
$isql .= " WHERE no = '$mail'";
$iresult = mysql_query($isql); // selectを実行
以下略
よろしくお願い致します。
お礼
有難うございました。 お陰さまで、何とか最後まで出来ました。