PHP習い始めたのですがどうしても分からない問題がありましたので
質問をさせて頂きました。
現在チェックボックスで複数選択された情報をMYSQLに反映させようとしているのですがどうしても複数選択された項目の内、一つしかMYSQLに反映されません。
こちらがスクリプトの一部になります。
<span class="checkbox"><input name="check[]" type="checkbox" value="aaa" />aaa</span>
<span class="checkbox"><input name="check[]" type="checkbox" value="bbb" />bbb</span>
<span class="checkbox"><input name="check[]" type="checkbox" value="ccc" />ccc</span><br />
//MYSQL
$sql = "insert into table values('$check[]')";
配列を使うとまでは調べて分かったのですが、そこからがどうしても
分かりません。どなたご存知になるかたがおりましたら
是非お伺い出来ませんでしょうか。宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
> check1ですがこちらがテキストになっております。
char型かvarchar型、ということですか?
例えば、チェックボックスの"aaa"と"ccc"にチェックを入れたとき、
カラムcheck1にどういった内容が入れば正しいのですか?
また、チェックボックスに入れた内容をデータベースに入れるとき、
通常はこんな方法を使うと思うのです。それは、以下のとおりです。
・htmlのformを定義して、その中に(複数の)チェックボックスを設ける
・formには送信用のボタン定義を含む
・formのactionの設定で、入力結果を受け取る側のプログラムファイルを指定しておく
・入力結果を受け取った側では、内容に応じたSQL文を生成する
このあたりは、どのようなプログラムを書かれていますか?
最初の投稿でスクリプトの一部だけ見せてくださいましたが、
この際全部見せてくださった方が、何をなさろうとしているか
伝わりやすいだろうと思うのです。
この回答への補足
asuncion様
詳しいご説明ありがとうございます。
こちらがそのスクリプトの全容になります。
<html>
</head>
<body>
<form action="" method="GET" name="salon">
<table class="font12" border="1" cellpadding="5" cellspacing="0" width="500" bordercolor="#333333">
<tr>
><input name="sname" type="text" id="sname" size="30" /></td>
</tr>
<tr>
<td>施術1(チェックボックス)<br />順番不問</td>
<td>
<span class="checkbox"><input name="check1[]" type="checkbox" value="aaa" />aaa</span>
<span class="checkbox"><input name="check1[]" type="checkbox" value="ccc" />bbb</span>
<span class="checkbox"><input name="check1[]" type="checkbox" value="ddd" />ddd</span><br />
<span class="checkbox"><input name="check1[]" type="checkbox" value="eee" />eee</span>
<span class="checkbox"><input name="check1[]" type="checkbox" value="fff" />fff</span><br />
<span class="checkbox"><input name="check1[]" type="checkbox" value="ggg" />ggg</span>
<span class="checkbox"><input name="check1[]" type="checkbox" value="hhh" />hhh</span><br />
<span class="checkbox"><input name="check1[]" type="checkbox" value="iii" />iii</span>
<span class="checkbox"><input name="check1[]" type="checkbox" value="kkk" />kkk</span>
</td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="登録"></td>
</tr>
</table>
</form>
<?php
extract($_POST);
//MySQLサーバに接続
if (!$int_connect = @mysql_connect('localhost','aaa','aaa')) {
die("can't connect mysql server.");
}
//データベースに接続
if (!@mysql_select_db("ccc", $int_connect)) {
die("can't use selected database.");
}
$array = $_GET[check1];
$today = date("y-m-d");
$sql = "insert into table values(0, '$today','$array')";
mysql_query($sql);
?>
</body>
</html>
No.3
- 回答日時:
> mysqlデーブルのカラム定義ですがこちらは check1 となっています。
check1カラムの属性(型と大きさ)は何ですか?
この回答への補足
asuncion様
ご返答ありがとうございます。
check1ですがこちらがテキストになっております。
また基本値はnullになっております。
No.2
- 回答日時:
> こちらは<table></table>タグを使用しております。
伺いたいこととは違っていました。
最初の投稿で
> $sql = "insert into table values('$check[]')";
と書かれています。これは、「table」という名前のMySQLテーブルに
何らかの値をinsertする、という意味です。
その、「table」というMySQLテーブルのカラム定義はどうなっていますか?
この回答への補足
再度のご返答ありがとうございます。
また返答を間違ってしまい申し訳ございません。
mysqlデーブルのカラム定義ですがこちらは check1 となっています。
今も何度も試しているのですが、MYSQLのデータベースで確認してみると
ARRAYとしか表示されません。
また先ほどのスクリプトに誤りがありました
<span class="checkbox"><input name="check1[]" type="checkbox" value="aaa" />aaa</span>
<span class="checkbox"><input name="check1[]" type="checkbox" value="bbb" />bbb</span>
です。checkがcheck1になっております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLで特定の項目の重複のみを排...
-
COBOLについて
-
リストビューの項目の内容を変...
-
PHPでDBからデータを抽出してHT...
-
初心者)DataGridViewの入力桁...
-
WHERE句でのCASEについて
-
ListViewのカラムの色の変更
-
php mysql で WHERE句内に変数...
-
DataViewで複数条件の...
-
Zend_DBを使ったselectで文字が...
-
VB6リストボックスでの文字...
-
ListView
-
VB.NETからAccessテーブルの文...
-
バッチでcsvファイルの指定のカ...
-
過剰なオブジェクト指向脳から...
-
差し込み後、元データを変更し...
-
エクセルで最後の文字だけ置き...
-
フィルターかけた後、重複を除...
-
sinカーブの表示のさせ方
-
SELECT 文 GROUP での1件目を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SQLで特定の項目の重複のみを排...
-
バッチでcsvファイルの指定のカ...
-
COBOLについて
-
リストビューの項目の内容を変...
-
DataViewで複数条件の...
-
php mysql で WHERE句内に変数...
-
Zend_DBを使ったselectで文字が...
-
fgetcsvでCSVを取得した際のnul...
-
ListViewのカラムの色の変更
-
google formsを使ったタスク依...
-
COBOL プログラミング
-
DataGridView 右詰め
-
Pythonについて
-
初心者)DataGridViewの入力桁...
-
前回ご教授いただいたコードに...
-
FormulaR1C1でSUMIF変数指定
-
C# リストビューの値を取得
-
VB6リストボックスでの文字...
-
このvbaで指定したフォルダから...
-
Chromeのデベロッパーツール プ...
おすすめ情報