お世話になります。
MYSQLとPHPを見よう見まねでやっている超初心者です。
$_POST['sample']はチェックボックスから取得してきたので複数の値があります。
その複数の値をwhere data = $where";にしてdataから複数の検索結果を取得したいと思っているのですが、下記のように書くと複数ある$_POST['sample']の一つしか検索取得できません。
$_POST['sample']の複数の値の検索結果を取得するにはどうすればよろしいのでしょうか?
基本的な事がわかっていない超初心者ですので
できれば具体的な式を教えて頂ければ大変助かります。
ご教授よろしくお願い致します。
if (isset($_POST['sample'])) {
for ($i = 0; $i < count($_POST['sample']); $i++) {
$where ='' . h($_POST['sample'][$i]) . '';
}
}
function h($string) {
return htmlspecialchars($string, ENT_QUOTES);
}
/////
$sql = "select * from test
where data = $where";
$result = mysql_query( $sql );
No.1ベストアンサー
- 回答日時:
PHPに同名のデータを渡したいならちょっとした工夫が必要
またmysqlへのデータ渡しするときはhtmlspecialcharsではなく
mysql_real_escape_stringを使います。
whereの条件もINをつかうと便利です。
そのた踏まえて、こんな風にしてみては?
<form method="post">
<input type="text" name="sample[]"><br>
<input type="text" name="sample[]"><br>
<input type="text" name="sample[]"><br>
<input type="submit" value="go"><br>
</form>
<?PHP
$where="";
if (isset($_POST['sample']) and is_array($_POST['sample'])) {
$where .=" AND data in (";
foreach ($_POST['sample'] as $key=>$val) {
if($key>0) $where .=",";
$where .="'" .mysql_real_escape_string($val) . "'";
}
$where .=")";
}
$sql = "select * from test";
$sql .= " where 1";
$sql .= $where;
print $sql;
?>
ご回答ありがとうございます。
ご教授頂いたとおりに、あてはめて
やってみたら見事に上手くいました!
私には到底できないレベルです。
拙い質問の意味を理解していただき、
丁寧なご回答を頂いて大変助かりました。
たいへんお世話になりました。心より感謝申し上げます
本当にありがとうございます!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- UNIX・Linux bashの変数でブランクがあるかチェックする方法教えて下さい。 3 2023/04/06 16:09
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- SQL Server これをSQL文で出来るでしょうか? 1 2023/03/26 02:16
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Q&Aサイトを作成していてURLの...
-
データベースに存在するデータ...
-
MySQLへの接続
-
MySQLのINSERT時にたまに重複に...
-
【初歩】配列の格納データ数だ...
-
INSERT,DELETEを同時に
-
mysqlの命令文をPDOに書き換...
-
JAVA SQLServerException 列名 ...
-
PHP+SQLite でSELECT文のWHERE...
-
トランザクション処理
-
エクセルVBAについて
-
SQL文の実行に失敗しました???
-
VBAをつかってクエリの情報を抽...
-
PHPでMY SQLの連想配列をリンク...
-
PHP + MySQLを使用して詳細画面...
-
MySQLでshal()関数のエラーがで...
-
SQL文2つ実行
-
SQL文が実行できません
-
エラーの意味と対策
-
PHP+mysqlでSQL文に文字数制限...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JAVA SQLServerException 列名 ...
-
Q&Aサイトを作成していてURLの...
-
<VB.NET>INSERT文でDBにデータ...
-
insert1つの処理でもトランザ...
-
Pro*Cの構文エラー
-
ResultSetインターフェイスでの...
-
データベースに存在するデータ...
-
PHP&MySQLでの文字列+数列の一...
-
VBA ACCESS SQL...
-
phpで複数の検索語を検索対象に...
-
like検索の複数キーワードで、...
-
MySQLのINSERT時にたまに重複に...
-
C# で発生したException.Messag...
-
PHP+PDO+MYSQL で実行されたSQ...
-
PHPのUndefined index や varia...
-
INSERT,DELETEを同時に
-
配列をループさせてUPDATE
-
VB.NET エラーになる箇...
-
php postgres Insert と updat...
-
C#でDBの特定列をUpdate
おすすめ情報