スレッド表示 | フラット表示〕 全トピック 920 件中 522 番目 次≫ ≪前

入力値に応じた値の表示

created: 2004-11-19 17:27 | modified: 2004-11-24 15:48 | reply: 6

[1913] 入力値に応じた値の表示

user: マーク | created: 2004-11-19 17:27
こんにちは。PHP初心者です。

PHP4+MySQL4+Apache2の環境で開発してます
がわからないことがあります。

フォームで入力した値によって他の入力項目の値を
DBから検査して表示することは可能でしょうか

例えば

商品名[ ] [検索]
価格[ ]
在庫[ ]

というフォームで
商品名に値を入力して[検索]をクリックすると
入力された商品名でDBを検索し価格と在庫が表示される
という処理です。

商品名,価格,在庫を配列で持つならOnclickでJavascriptの
関数を呼び出せばいいのですが、DBから検索となると
ちんぷんかんぷんです。

よろしくお願いします。
reply: 1914 返信 編集 削除

[1914] ちんぷんかんぷん

user: ゆうじ | created: 2004-11-20 10:55
こんにちは。

> フォームで入力した値によって他の入力項目の値を
> DBから検査して表示することは可能でしょうか

可能です。


> 商品名,価格,在庫を配列で持つならOnclickでJavascriptの
> 関数を呼び出せばいいのですが、DBから検索となると
> ちんぷんかんぷんです。

「ちんぷんかんぷん」では、
何が知りたいのかわかりませんので、
ここのところ省かずにご質問ください。
Parent: 1913  reply: 1915 返信 編集 削除

[1915] Re.ちんぷんかんぷん

user: マーク | created: 2004-11-20 12:28
ゆうじさま

ごめんなさい舌足らずでした。
DBを検索する処理をどこに記述去すばいいのかがわかりません。

Onclickの後でしょうか
例えばOnclick="<?php ....?>"

あるいはJavaScriptの関数の中でしょうか
(これはjavascriptでDBにアクセスできるのか
わかりません)

>
> > 商品名,価格,在庫を配列で持つならOnclickでJavascriptの
> > 関数を呼び出せばいいのですが、DBから検索となると
> > ちんぷんかんぷんです。
>
> 「ちんぷんかんぷん」では、
> 何が知りたいのかわかりませんので、
> ここのところ省かずにご質問ください。
Parent: 1914  reply: 1916 返信 編集 削除

[1916] 超PHP入門 - サーバーサイドスクリプト

user: ゆうじ | created: 2004-11-20 20:25
はじめに、
JavaScriptは、ユーザのPC(ブラウザ)で実行される
クライアントサイドスクリプト、
PHPは、サーバで実行されるサーバーサイドスクリプトです。

なので同じファイル内に記述したとしても
ユーザに返されるHTMLやJavascriptはPHPの実行結果です。

# サーバ側でPHPが、HTMLやJavaScriptを整形(生成)する
# そしてその結果がユーザのPCに返されてブラウザに表示される、
# と考えたほうが理解しやすいかもしれませんね。


これをふまえていただき例題。

<?php
$func_name = 'test_click()';
?>
<div Onclick="<?php echo $func_name; ?>">
押してみな
</div>

この例だと、
$func_name の値 'test_click()' が
echo $func_name のところで出力され
ブラウザには次の結果が表示されます。

<div Onclick="test_click()">
押してみな
</div>

PHPの仕事はここまでです。
あとは、JavaScriptの領域。
クリックすれば、test_click() が実行されます。

PHP と HTML&JavaScript の関係わかりました?


なので JavaScript では DB に接続できません。
DBのデータを表示したいならば、
PHP で DB に接続して必要なデータを獲得した後、
HTMLに整形して出力します。


MySQLを使ったサンプルコードを挙げておきますので、
あとは、PHPマニュアルで何をしてるのか確かめながら
その上でまたわからないところがあればご質問ください。

また、PHP と DB はまったく別のプログラムなので、
DB は DB でマニュアルやサイトを探して勉強してみてください。

●PHPマニュアル
http://www.php.net/manual/ja/


<?php
$host = 'localhost';
$user = 'my_name';
$passwprd = 'abcd1234';
$dbase = 'my_db';

$link = mysql_connect($host, $user, $passwprd);
if(mysql_errno()) {
die('MySQLに接続できませんでした');
}
mysql_select_db($dbase);
if(mysql_errno()) {
die('データベースに接続できませんでした');
}

$sql = "select * from my_table";
$result = mysql_query($sql);

?>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=euc-jp">
</head>
<body>
<table>
<tr><th>ID</th><th>Name</th></tr>
<?php

while($rec = mysql_fetch_array($result)) {

?>
<tr>
<td><?php echo $rec['id']; ?></td><td><?php echo $rec['name']; ?></td>
</tr>
<?php

}

?>
</table>
</body>
</html>
Parent: 1915  reply: 1924 返信 編集 削除

[1924] Re.超PHP入門 - サーバーサイドスクリプト

user: マーク | created: 2004-11-24 11:24
ゆうじ さま

私の説明が下手なせいで迷惑をおかけします。今一度お付き合いください

例えば以下は商品名を入力すると
価格が表示される例ですが、商品名をを配列からではなくDBから検索する場合
その処理はどこに記述すればよいのでしょうか?(DBへのアクセス方法&記述はわかります)

<html>
<head>
<script type="text/javascript">
<!--
var syo = new Array();
syo["ソックス"] = 120;
syo["ジーンズ"] = 3750;
syo["セーター"] = 5400;
function inputval(sel){

f=sel.form;
f.price.value = syo[f.name.value];

}
//-->
</script>
</head>
<body>
<form name='storyform' id='storyform' action='submit.php' method='post'>
<table>

<tr><td>商品名</td><td><input type='text' name='name' id='name' size='20' maxlength='20' value='' />
&nbsp;<input type='button' class='formButton' name='inf' id='inf' value='情報' onclick="inputval(this)" /></td></tr>

<tr><td>価格<input type='text' name='price' id='price' size='5' maxlength='5' value='' /></td></tr>
<tr><td><input type='submit' class='formButton' name='post' id='post' value='登録' /></td></tr>
</table>
</body>
</html>
Parent: 1916  reply: 1925 返信 編集 削除

[1925] action='submit.php'

user: ゆうじ | created: 2004-11-24 13:01
>DBから検索する場合その処理はどこに記述すればよいのでしょうか

フォームの action が'submit.php'ですので、
'submit.php' の中に検索処理と結果表示処理を記述します。
で、その中身が、
記事[1916]で挙げたような処理の流れになります。

PHPはサーバーサイドなので、
送信(submit)しないわけにはいきません。


# なんだか私もまだまだ、
# 勘違いしてる気がします。
# 気づいたことは遠慮なく。
Parent: 1924  reply: 1926 返信 編集 削除

[1926] ありがとうございました

user: マーク | created: 2004-11-24 15:48
どうも初心者なものでよく理解できる部分と
普通の方には常識でも全く理解できてない部分がありました。

その点、最初から教えていただき道がつながりました。

どうもありがとうございました。
ご迷惑をおかけしました
Parent: 1925  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 522 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑