以下の授業プルダウンですが、
任意の授業が選択されたときに、
その授業の内容を大分類の下の中分類(middle_class)をDBで検索して、次の中分類プルダウンの変数に渡したいのですが、当然のごとくでき
ません。
大分類で画面遷移して中分類の画面へというように、何回も検索画面
を分けるのならいいのですが。何度も処理をする必要があるので、
絶対に画面遷移しない。orしているように見えないようにしたいです。
下記サイト一番役立つかなぁと思いましたが、マスターデータはDBから検索させたい。
Javascriptsに直書きは、メンテナンスが難しい。
http://www.cc.kyoto-su.ac.jp/~ushitaki/JavaScrip …
<SCRIPT LANGUAGE="JavaScript">
<!---
function getcategory(){
ckind=document.category.top.selectedIndex;
cvalue=document.category.top.options[ckind].value;
<?php
if( $_REQUEST['$top']){
$MySQL['HOST'] = '127.0.0.1';
$MySQL['USER'] = 'root';
$MySQL['PASSWORD'] = '********';
$MySQL['DATABASE'] = 'category';
$MySQL['conn'] = @mysql_connect($MySQL['HOST'],$MySQL['USER'],$MySQL['PASSWORD'])
or exit('Can not access MySQL DB');
mysql_select_db($MySQL['DATABASE'], $MySQL['conn']);
$MySQL['query'] = "set names sjis";
$MySQL['result'] = mysql_query($MySQL['query'], $MySQL['conn']);
$MySQL['query'] = "SELECT middle_class_code, middle_class_name FROM middle_class where top_class_code = ".$_REQUEST['$top']."";
$MySQL['result'] = mysql_query( $MySQL['query'],$MySQL['conn'] );
$count = 0;
while($table4[$count] = mysql_fetch_array($MySQL['result'], MYSQL_NUM))
{
$table3[$count] = $table4[$count];
$count = $count + 1;
}
if(cvalue==$top){
for($i = 0; $i < $count; $i++ ){
print("document.parts_category.middle.options[".$i."].text=".$table3[$i][1].";");
print("document.parts_category.middle.options[".$i."].value=".$table3[$i][0].";");
}
}
}
?>
}
//--->
</SCRIPT>
</HEAD>
<BODY LANG="ja-JP" TEXT="#0066cc" LINK="#cc0033" VLINK="#ff9900" BGCOLOR="#ffffff" DIR="LTR">
<TABLE WIDTH=1072 BORDER=1 CELLPADDING=2 CELLSPACING=0 STYLE="page-break-before: always">
<COL WIDTH=531>
<COL WIDTH=531>
<TR>
<TD WIDTH=531 HEIGHT=25>
<P> 授業別クラス
</P>
</TD>
<TD ROWSPAN=7 WIDTH=531>
<P><BR>
</P>
</TD>
</TR>
<TR>
<TD WIDTH=531 HEIGHT=20>
<P>授業検索</P>
</TD>
</TR>
<TR>
<TD WIDTH=531 HEIGHT=20>
<FORM NAME="category">
<P><FONT SIZE=2 STYLE="font-size: 9pt">大分類
<SELECT NAME="$top" STYLE="width: 2.43cm; height: 0.56cm" onChange="this.form.submit()">
<OPTION VALUE="x">大分類
<OPTION VALUE="MATH">数学
<OPTION VALUE="JAPE">国語
<OPTION VALUE="JAPH">日本史
<OPTION VALUE="CHEM">化学
<OPTION VALUE="PHYS">物理
<OPTION VALUE="FORL">外国語
<OPTION VALUE="WORH">世界史
</OPTION>
</SELECT></FONT></P>
</TD>
</TR>
<TR>
<TD WIDTH=531>
<P><FONT SIZE=2 STYLE="font-size: 9pt">中分類
<SELECT NAME="middle" STYLE="width: 4.52cm; height: 0.56cm" ONCHANGE="getparts()">
<OPTION VALUE="x" SELECTED>まず大分類を選んでください
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x">
<OPTION VALUE="x"></OPTION>
</SELECT></FONT></P>
</TD>
</TR>
<TR>
<TD WIDTH=531>
<P><INPUT TYPE=SUBMIT VALUE="検索" STYLE="width: 1.08cm; height: 0.58cm"></FORM>
</P>
</TD>
</TR>
</TABLE>
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
No.2
- 回答日時:
>本題と離れてしましますが、ajaxで実現できるのであれば、
>このあたり参考になる本があれば、教えていただけませんか?
うーん、私はajaxについてはネット上でサンプルを拾ったことしか
ないので書籍については一切持ってません。
「ajax 書籍」などでぐぐってみるとそれなりにでてくるかもしれませんが
そうするくらないならajaxで検索してソースをいろいろ拾い集めたほうが
てっとりばやいかも。
>ちなみにajaxとPHPって連携できるのでしょうか?
ajaxは単なるjavascriptですからajaxからセレクトボックスを
呼び出すことは問題なくできます。
セレクトボックス自体をPHPでかけばまさにajaxとPHPの連携ですね。
>ただ最後に2行があまり理解できませんでした
>>onChangeではなくsubmitで正規に検索するのであればjavascriptを
>>使わずにすむのでブラウザに依存しないシステム運用も可能です。
書き方がわるくてすみません。
毎回サブミットボタンをおして検索するシステムなら、ブラウザが
変わっても、たとえば携帯からアクセスしても、つかえるます・・・
ってことがいいたかっただけです。(そのあたりはご理解なさっている
とは思いますが・・・)
この回答への補足
ajaxの書籍を買って、少し斜め読みしてみました。
手順としては、
1.○○.html(ajaxlib:jslb_ajax.js含む )
<SELECT *** onChange="sendRequest(on_loaded1,'$category','GET','./middle_class.php',true,true)">
で△△.phpに投げる。
2.△△.phpで
mysql_fetch_arrayで$table3の2次元配列に入れる。
$table3[0][0] = 1
$table3[0][1] = 歴史
$table3[1][0] = 2
$table3[1][1] = 数学
な感じに。
for($i = 0; $i < $count; $i++){
$kyouka = $kyouka." ".$table3[$i][0]." ".$table3[$i][1];
}
//出力をUTF-8に変更
mb_http_output('utf-8');
//出力
echo ( $kyouka );
3.△△.phpでbashされた$table3をon_loaded1(oj)で捕まえる。
function on_loaded1(oj){
<!---レスポンスを取得 --->
var res = oj.responseText <---ここで受け取れてないかも。
alart(res) <---何も表示されない。
<!---レスポンスを\nで分解して行データの配列を作る--->
var row = res.split(' ')
alart(row[0])
oj.responseTextでデータが取得できていません。
△△.php自体の動作はO.K.だけど、○○.htmlのjavascriptが
うまく動作しているのか?です。
No.1
- 回答日時:
大分類を選ぶたびに、画面遷移なしでDBを読みにいくのであれば
ajaxをつかってください。
もしくは大分類を選ぶたびにonChangeでformをサブミットして、
中分類をよみにいくというフローもできます。
onChangeではなくsubmitで正規に検索するのであればjavascriptを
使わずにすむのでブラウザに依存しないシステム運用も可能です。
この回答への補足
onChangeでフォームを飛ばしたいことも要求として
あります。
毎回毎回、<INPUT TYPE=SUBMIT VALUE="検索" STYLE="width: 1.08cm; height: 0.58cm">
を押してから、フォームを渡すのは、面倒だから。
ajaxって使ったことないんですけど。
これが実現できるのであればajaxに挑戦する価値は大です。
本題と離れてしましますが、ajaxで実現できるのであれば、
このあたり参考になる本があれば、教えていただけませんか?
ちなみにajaxとPHPって連携できるのでしょうか?
ただ最後に2行があまり理解できませんでした。
未熟なので申し訳ないところです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript 1度きりではなく、繰り返し、挙動が変わるようにしていただきたいです。 1 2022/07/03 15:50
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSVをダウンロードさせた際、CS...
-
期待した値がMySQLから返ってこ...
-
PHPで絞り込み検索結果の件数を...
-
テーブルに入っているデータと...
-
MySQLのUPDATE実行結果を受け取...
-
sqlから多次元配列に要素を格納...
-
MySQLのデータを使ってプルダウ...
-
テーブルのレコード数を取得し...
-
縦に長い<table>でなく横に長い...
-
PHPからMySQL・異なるDBにコピー
-
php テーブルを作れない
-
実行時エラー3131 FROM 句の構...
-
チェックボックスによる複数の...
-
テキストボックスに入れた内容...
-
エクセルVBAについて
-
PHP + MySQLを使用して詳細画面...
-
<VB.NET>INSERT文でDBにデータ...
-
VBAをつかってクエリの情報を抽...
-
JAVA SQLServerException 列名 ...
-
PHP と MySQL でテーブルの行数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysql_fetch_objectのエラー
-
XAMPPで画面が真っ白になります。
-
テーブルに入っているデータと...
-
sqlから多次元配列に要素を格納...
-
PHP+mysqlでSQL文に文字数制限...
-
stringaddslashes 半角¥が消える
-
phpのエラーについてです
-
PHPで絞り込み検索結果の件数を...
-
PHPエラーが出て困ってます
-
PDOを使いたい
-
CSVをダウンロードさせた際、CS...
-
mysql_query等でレコード数を変...
-
Resource id #3 をフィールドの...
-
ボタンのonclick時における関数...
-
XAMMPが起動しません。
-
SQL文2つ実行
-
PHPのSQLインジェクションはspr...
-
SQLの結果が返ってこない
-
MySQLのデータを使ってプルダウ...
-
会員登録したらメールが送られ...
おすすめ情報