こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

PHPとMySQLについて

PHPとMySQLについて

PHP、MySQLともに初心者の者です。
ネットの情報を参考に以下のようなプログラムを作成しました。


<?php
//ファイルを読み込み
require_once("DB47.php");

// クエリを送信する
$sql = "SELECT * FROM japanDB ORDER BY PREF_CD";
$result = executeQuery($sql);

//結果セットの行数を取得する
$rows = mysql_num_rows($result);

//表示するデータを作成
if($rows){
while($row = mysql_fetch_array($result)) {
$tempHtml .= "".$row["PREF_CD"]." ".$row["PREF_NAME"]." ";
$tempHtml .= "\n";
}
$msg = $rows."件のデータがあります。\n\n";
}else{
$msg = "データがありません。\n\n";
}

//結果保持用メモリを開放する
mysql_free_result($result);

?>

<?= $msg ?>
<?= $tempHtml ?>



これはデータベースに

1、北海道
2、青森
・  ・
・  ・
・  ・
47、沖縄

といった情報を与えており、PHP側でMySQLに接続し、その内容をコマンドプロンプト上で表示するといったものです。
しかし、PHPプログラムを実行してしまうと、全データが一気に表示されてしまうので、見づらいものとなっています。

そこで、地名や番号を入力すれば、地名を表示するような検索機能を付けたいのですが、PHPからMySQLデータベース内を検索する方法が分かりません。検索機能をこのプログラムに組み込みたいのですが・・・。
どなたかご教授お願いいたします。


***環境***
OS : Windows XP Pro
PHP4.2.3 、MySQLインストール済み
**********

投稿日時 - 2010-03-07 19:02:36

QNo.5733104

すぐに回答ほしいです

質問者が選んだベストアンサー

doran357さんが提示した、Googleの検索結果の一番最初を見ていただければ、求めている回答があります。
が、初心者とのことですので少し補足をすると、
コマンドプロンプト上でキーボードにて入力した内容(標準入力)を捕捉する為の記述をPHPで行う必要があるということです。

で、その方法が、上記のサイトで説明されております。
<?php
echo "何か入力してください > ";
$line = trim(fgets(STDIN));

$line = mysql_real_escape_string($line);

$sql = "SELECT * FROM japanDB WHERE name = '{$line}' ORDER BY PREF_CD";

$result = executeSQL($sql);

?>

>>$line = trim(fgets(STDIN));
この記述をしてやることでPHPを実行した際、キーボードからの入力待ち状態になります。
キーボードで何かしらの文字を入力してやって、Enterキーをおすと、その値を取得します(fgets(STDIN)のところ)。
取得した値は、改行コード付きなので、trim関数にて前後のスペースや改行をとっぱらってやります。
そして、SQL文にその文字を代入してやり、実行してやれば良いです。

投稿日時 - 2010-03-09 00:21:26

お礼

お礼が大変遅くなってしまい申し訳ありませんでした。

回答のおかげで無事問題を解決することができました。ありがとうございました

投稿日時 - 2010-04-06 20:21:43

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

>その内容をコマンドプロンプト上で表示するといったものです。
Webサーバ経由ではなくてコマンドでって事だよな。
調べる気すら無いのか?
http://www.google.co.jp/search?source=ig&hl=ja&rlz=&q=php+cli+%E5%BC%95%E6%95%B0&meta=lr%3D&aq=0&oq=PHP+CLI
数秒で調べられるレベルです。

投稿日時 - 2010-03-07 21:49:39

補足

回答ありがとうございます。

もちろん調べた上で質問しています。
最初に申し上げたとおり私はPHPやMySQLに関して初心者ですので、よく分からない点が多々あるのです。
そのため今回OKWaveを通して質問させていただいているわけです。

投稿日時 - 2010-03-08 01:57:03

あなたにオススメの質問