dポイントプレゼントキャンペーン実施中!

MySQLから1つの列を、例えば10行あれば10個のデータ(文字列)を取得したいのですが、取り出し方が分かりません。データベースへの接続・切断の仕方やSQLの事は分かっています。

したい事は、該当するページから、はじめはリストボックスには、何も(option value="")入ってなくて、MySQLより文字列を取得、取得した文字列をoption valueに順番に10個表示させたいです。
どうかよろしくお願い致します。

A 回答 (5件)

基本的に、データをmySQLから取得したのをリストボックスに入れる処理は



<%
Do Until objRS.EOF
%>
<option value="<%=objRS("列名").value%>">
<%
'########次のレコードを参照##########
objRS.MoveNext

Loop
です。objRS(レコードセット)がEOF(エンドオブファイル)になるまで、option value=の値にobjRS("列名")のvalue(値)を入れながらループする。ということです。

objRS(レコードセット)には、MySQLからSELECT文で取り出した結果すべてが入っています。この場合ですと列名が全部入っています。

ですから、<option value="<%=objRS("列名").value%>">の一文は、<option value="取り出した列名">と同じです。<%= %>の中はaspで、指定したスクリプトを表示するという意味です。ここで指定しているのは、objRS("列名").valueです、

で、objRS.MoveNextでobjRS(レコードセット)の内部参照が次のレコードに移ります。

それをDo UntilのループでobjRS.EOFまでループさせます。objRS.EOFのEOFは終わりという印なので、objRSのデータが終わりの印にくるまでループするということです。

こんなこと分かっていますかね。。分かってたらすみません。もし分かっていないようなら、基礎的なことなので、学習した方が良いとおもいます。
    • good
    • 0

>「<option value="<%=objRS("列名").value%>">」


の部分ですが、ASPで記述する方法を教えて下さい。


ASPでの記述のつもりですが…。

HTMLの中に<%= %>で
response.write( )
と同じなのはご存知ですよね

>1ページの中で常にリストボックスの内容を変えたいです。

自分がやるのであれば以下のどちらかで実装しますけど

1.イベント発生後該当ページをリロードしMySqlからデータ表示

2.あらかじめデータ抽出しておきJavaScriptによって内容切替


2は件数少ない時じゃないと厳しいと思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2005/02/23 16:36

参照URLをご確認下さい




<SELECT>
<%
iMax = 10 '表示件数
iCount = 0 '表示件数カウンター

set cn = Server.CreateObject ("ADODB.Connection")
cn.Open "dsn=MySQL;uid=sak;pwd="
cn.CursorLocation = 3

set rs = cn.Execute("select * from Table_Name Orader By Table_ID ")

 Do While Not rs.EOF AND iCount < iMax

iCount = iCount + 1
%>

<OPTION value="<%= rs("列名")%>"><%= rs("列名")%>

<%
rs.MoveNext
loop

rs.Close

cn.Close
%>
</SELECT>

参考URL:http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd …

この回答への補足

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

「<option value="<%=objRS("列名").value%>">」
の部分ですが、ASPで記述する方法を教えて下さい。1ページの中で常にリストボックスの内容を変えたいです。(つまり再表示したいです)
よろしくお願い致します。

補足日時:2005/02/10 10:35
    • good
    • 0

ASPの方は、多分↓でいけるかと。



<SELECT NAME="HOGE">
<%
Do Until objRS.EOF
%>
<option value="<%=objRS("列名").value%>">
<%
'########次のレコードを参照##########
objRS.MoveNext

Loop

%>
</SELECT>

参考URL:http://www5a.biglobe.ne.jp/~n_rieko/asp/16.htm

この回答への補足

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

「<option value="<%=objRS("列名").value%>">」
の部分ですが、ASPで記述する方法を教えて下さい。1ページの中で常にリストボックスの内容を変えたいです。(つまり再表示したいです)
よろしくお願い致します。

補足日時:2005/02/10 10:32
    • good
    • 0

取り出したい列のなまえを、仮に支払先とします。

テーブル名を仮に支払管理とします。

構文は
SELECT DISTINCT 支払先 FROM 支払管理;

DISTINCTは、重複データは、抽出してきません。

なお、aspの方は、全然分かりませんが、多分、質問者さんは分かっておられるのでしょう。がんばってください。

参考URL:http://www.accessclub.jp/sql/18.html
    • good
    • 0
この回答へのお礼

ありがとうございました

お礼日時:2005/02/23 16:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!