PHP超!初心者です。よろしくお願いいたします。
行いたい事は、
HTML上にあるドロップダウンリストから項目を選択し実行すると、一致する項目をPHPMysql DBより抽出し表形式で表示したい。です。
PHPmysql→ ユーザー名:user パスワード:passwd データベース名:dbnameテーブル名:table_nm
検索画面→kensaku.html
検索結果→kensaku.php
●kensaku.html
<html>
<head>
<title>検索</title>
</head>
<body>
<br>
<h1>種類</h1>
<br>
<form action = "http://localhost/lesson/kensaku.php" method="POST">
<p>
種類:<br />
<select name="betu" style="width:200" id="search_process">
<option value="" selected="selected">一覧から選択</option>
<option value="あ">あ</option>
<option value="い">い</option>
<option value="う">う</option>
<option value="え">え</option>
<option value="お">お</option>
</select></p>
<p>
<input type="submit" name="exec" value="検索">
</form>
</body>
</html>
●kensaku.php
<html>
<body>
<?
if (!$con = mysql_connect("localhost", "user", "passwd")) {
print "接続エラー" ;
exit ;
}
mysql_select_db("dbname", $con)
$sql = "select sid, name, price, betu, area, memo from table_nm" ;
$sql . = "where betu like '$betu'" ;
if (!$res = mysql_query($sql)) {
print "SQLエラー<BR>" ;
exit
}
<table border=1>
<tr>
<th>NO</th><th>名前</th><th>金額</th><th>種別</th>
/tr>
while($row = mysql_fetch_array($res)){
<tr>
<td><?php ($row['sid']); ?></td>
<td><?php ($row['name']); ?></td>
<td><?php ($row['price']); ?></td>
<td><?php ($row['betu']); ?></td>
</tr>
}
</table>
</body>
</html>
説明不足の部分がありましたら、申し訳ございません。
よろしくご教授お願いいたします。
No.3ベストアンサー
- 回答日時:
とりあえず、補足を手直ししたものを書いておきます。
sprintfの使い方と、phpタグの使い方に注意してください。
<html>
<body>
<?php
// betuを設定、初期値は'あ'
$betu = (isset($_REQUEST['betu']) ? $_REQUEST['betu'] : 'あ');
//データベースに接続
$con = mysql_connect("localhost", "user", "passwd");
//データベースを選択
mysql_select_db("sake", $con);
//フォームで送られてきた条件を元にSELECT文を作成
$sql = sprintf("select sid, name, price, betu, area from table_nm where betu='%s'",
mysql_real_escape_string($betu));
//SELECT文を実行
$res = mysql_query($sql);
?>
<?php //検索結果表示 ?>
<table border=1>
<tr>
<th>NO</th><th>名前</th><th>金額</th><th>種別</th><th>コメント</th>
</tr>
<?php while($row = mysql_fetch_array($res)): ?>
<tr>
<td><?php ($row['sid']); ?></td>
<td><?php ($row['name']); ?></td>
<td><?php ($row['price']); ?></td>
<td><?php ($row['betu']); ?></td>
<td><?php ($row['memo']); ?></td>
</tr>
<?php endwhile; ?>
</table>
</body>
</html>
この回答への補足
いろいろな書籍のサンプルコードを組み合わせて、別のコーディングで解決できました。(一生懸命対応して下さったのに、スミマセン)
いろいろとありがとうございました。
No.2
- 回答日時:
●kensaku.php
<?php
//データベースに接続
if (!$con = mysql_connect("localhost", "user", "passwd")) {
echo "DB connect error";
}
//データベースを選択
if (!mysql_select_db("sake", $con)) {
echo "DB select error";
}
//フォームで送られてきた条件を元にSELECT文を作成
$sql = "select sid, name, price, betu, area from table_nm where betu like '%betu'";
//SELECT文を実行
if (!$res = mysql_query($sql)) {
echo "DB query error";
}
//検索結果表示
echo <<<_HTML_
<html>
<body>
<table border=1>
<tr>
<th>NO</th>
<th>名前</th>
<th>金額</th>
<th>種別</th>
<th>コメント</th>
</tr>
_HTML_;
while ($row = mysql_fetch_array($res)) {
echo <<<_HTML_
<tr>
<td>{$row['sid']}</td>
<td>{$row['name']}</td>
<td>{$row['price']}</td>
<td>{$row['betu']}</td>
<td>{$row['memo']}</td>
</tr>
_HTML_;
}
echo <<<_HTML_
</table>
</body>
</html>
_HTML_;
?>
回答を送って下さり、ありがとうございました。
勉強を始めたばかりで、寄せていただいたコーディングを解読する事も勉強になりました。
No.1
- 回答日時:
このソースコードはそのままコピーしたものですか?
とりあえず、問題点が多いので列挙しておきます。
kensaku.php
3行目: 開始コードは<?ではなく<?php
9行目: セミコロンが抜けている ;
11行目: SQLインジェクションの脆弱性 mysql_real_escape_string
15行目: セミコロンが抜けている ;
17行目: PHP終了タグが抜けている ?>
22行目: PHPタグが抜けている <?php ... ?>
Webサーバーがインストール済みなら、とりあえず実行してみて、エラーを叩いていく方が早いと思います。
・デバッグ用の設定
http://xpressengine-jp.com/index.php?document_sr …
・mysql_real_escape_string
http://php.net/manual/ja/function.mysql-real-esc …
この回答への補足
早々に回答していただきまして、ありがとうございます!!
入力ミスを含め、随分ヒドイ状況で問い合わせてしまい、失礼しました。
教えていただいた内容で修正を行いましたが、未だエラーが出ます。
デバック用の設定も上手くできず、再度質問をさせていただけたら・・・と思います。
よろしくお願いいたします。
●kensaku.php
<html>
<body>
<?php
//データベースに接続
$con = mysql_connect("localhost", "user", "passwd");
//データベースを選択
mysql_select_db("sake", $con);
//フォームで送られてきた条件を元にSELECT文を作成
$sql = sprintf("select sid, name, price, betu, area from table_nm where betu='%betu'" ,
mysql_real_escape_string($betu));
//SELECT文を実行
$res = mysql_query($sql);
?>
//検索結果表示
<table border=1>
<tr>
<th>NO</th><th>名前</th><th>金額</th><th>種別</th><th>コメント</th>
/tr>
<?php
while($row = mysql_fetch_array($res)){
<tr>
<td><?php ($row['sid']); ?></td>
<td><?php ($row['name']); ?></td>
<td><?php ($row['price']); ?></td>
<td><?php ($row['betu']); ?></td>
<td><?php ($row['memo']); ?></td>
</tr>
}
?>
</table>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで[]の使い方について
-
while文の中にwhile文を書きた...
-
SELECT結果から動的にコンボボ...
-
smartyのforeachの使い方?
-
checkboxクリック時、SQLを実行...
-
文字化けが解決できません。お...
-
PHPでMySQLデータを呼び出し、w...
-
phpでmysqlからデータを取り出...
-
<VB.NET>INSERT文でDBにデータ...
-
実行時エラー3131 FROM 句の構...
-
MySQLでデータベースにデータin...
-
Pro*Cの構文エラー
-
VBAをつかってクエリの情報を抽...
-
stringaddslashes 半角¥が消える
-
テーブルに入っているデータと...
-
SQL文が実行できません
-
テキストボックスに入れた内容...
-
phpでテーブルを作る際変数によ...
-
phpのupdate,sql文にて連番カラ...
-
ヒアドキュメントでSQLを書く事...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBで検索結果に該当するデータ...
-
PHPで[]の使い方について
-
アラートでyes noを作りたいです。
-
phpでmysqlを使ってデータベー...
-
PHP、SQLite3のデーターでログ...
-
dbに登録したデータをphpのプル...
-
checkboxクリック時、SQLを実行...
-
PHPでMY SQLの連想配列をリンク...
-
文字化けが解決できません。お...
-
PHPでMySQLデータを呼び出し、w...
-
SELECT結果から動的にコンボボ...
-
php ログインフォーム作成
-
VBA初心者です。
-
チェックボックスでチェックし...
-
sortableを使用したデータのUPDATE
-
php mysqlで作ったデータをgoog...
-
mysql_insert_id()の使い方
-
PHPとSmartyを使い、データベー...
-
MySQLに保存した画像を表示したい
-
PHP+MySQLでの配列のinsert文に...
おすすめ情報