こんにちは。DBから取得 JSPに表示を勉強しています。
条件が 列指定 前方指定 昇順降順などあり
列ごとに取得 表示といった形で表示することができました
ただこれだと 横に表示されるのですが、どうすれば縦に表示できるように
組みなおせますか?それかこの組み方だとHTMLでがんばったほうが良いのでしょうか?アドバイスお願いします
JSP(検索、表示)
<table border>
<tr>
<td>
検索内容 TESTNO <input type="checkbox" name="TESTNO" value="TESTNO"
</td>
<td>
NAME <input type="checkbox" name="NAME" value="NAME" >
</td>
<td>
KANA <input type="checkbox" name="KANA" value="KANA" >
</td>
</tr>
</table border>
<table border>
<tr>
<td>
検索条件 <input type="text" name="name" >(NAME前方一致)
</td>
</table>
<table border>
<tr><td>
ソート <select name="menu">
<option value=TESTNO>TESTNO</option>
<option value=NAME>NAME</option>
<option value=KANA>KANA</option>
</select>
<input type="radio" name="narabi" value="ASC" /> 昇順
<input type="radio" name="narabi" value="DESC"/> 降順
</td></tr>
</table>
<br><input type="submit" value="検索">
</from>
</body>
</form>
<Hr>
<%
if(request.getAttribute("list")!=null || request.getAttribute("list1")!=null || request.getAttribute("list2")!=null){
if(request.getAttribute("list")!=null){
List list=(List)request.getAttribute("list");
for(int i=0; i<list.size(); i++){
out.print(list.get(i)+" ");
}
}
%><br>
<%
if(request.getAttribute("list1")!=null){
List list1=(List)request.getAttribute("list1");
for(int i=0; i<list1.size(); i++){
out.print(list1.get(i)+" ");
}
}
%><br>
<%
if(request.getAttribute("list2")!=null){
List list2=(List)request.getAttribute("list2");
for(int i=0; i<list2.size(); i++){
out.print(list2.get(i)+" ");
}
}
%><br>
サーブレット(取得、フォワードで転送)
String name=request.getParameter("name");
//NAMEの前方一致条件取得
String narabi=request.getParameter("narabi");
//降順、昇順、の値取得
String menu=request.getParameter("menu");
//昇順、降順するところの列 name取得
db.updateExec("insert into TESTTABLE1(TESTNO,NAME,KANA) values("+1+",'山田', 'ヤマダ')");
db.updateExec("insert into TESTTABLE1(TESTNO,NAME,KANA) values("+2+",'佐藤', 'サトウ')");
・・・・・・
//課題のため10行入力
db.commit(); //コミットして 確定
ArrayList list;
ArrayList list1;
ArrayList list2;
//リスト作成
if(narabi!=null){//昇順 降順にチェックがあるか判断
String[][]hai4=db.selectExec("SELECT * FROM TESTTABLE1 WHERE NAME LIKE'"+name+"%' order by "+menu+" "+narabi+" ;");
//nameで前方一致 menuで昇順降順場所 narabiで降順昇順
list = new ArrayList(Arrays.asList(hai4[0]));
list1 = new ArrayList(Arrays.asList(hai4[1]));
list2= new ArrayList(Arrays.asList(hai4[2]));
}else{//昇順降順なければこっち
String[][]hai3=db.selectExec("SELECT * FROM TESTTABLE1 WHERE NAME LIKE'"+name+"%';");
//nameで前方一致
list = new ArrayList(Arrays.asList(hai3[0]));
list1 = new ArrayList(Arrays.asList(hai3[1]));
list2 = new ArrayList(Arrays.asList(hai3[2]));
}
if (request.getParameter("TESTNO") != null){
request.setAttribute("list", list);
}
if (request.getParameter("NAME") != null){
request.setAttribute("list1", list1);
}
if (request.getParameter("KANA") != null){
request.setAttribute("list2", list2);
}
結果
1 2 3 4 5 6 7 8 9 10
山田 佐藤 山本 伊藤 武田 鈴木 小野 松井 田中 高橋
ヤマダ サトウ ヤマモト イトウ タケダ スズキ オノ マツイ タナカ タカハシ
1 山田 ヤマダ
2 佐藤 サトウ
・・・・・・
といった表示にしたいです
行ごとに取得して繰り返すのがいいのかなと思って最初やていたのですが
列指定したときに エラー(指定listがない)といったようになるので
この組み方にしました。
アドバイスお願いします
No.1ベストアンサー
- 回答日時:
行ごとに取得して表示するように直しませんか?
そのほうが考え方として自然じゃないですか?
たとえばカナだけチェックをつけたりするとエラーになったりするんですよね?
でも、それを試行錯誤するほうが勉強になりますよ!
がんばってSQLのデータを返すところを直しませんか?
項目数が可変になっても問題ないようにできるはずですよ?
行き当たりばったりで作っていませんか?
常に最終的にどうやりたいかを意識すればきっとできますよ!
がんばりましょう!
そうですよね><
たぶんSQL文を縦列で格納してるところが問題ですよね・・・
SQL文を横列で習得、格納してあげるといいってことですよね?
考え方的にはあってますか??
アドバイスお願いします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
リクエストに応じたselectedの初期値設定方法
Java
-
SQLデータベースの処理
MySQL
-
javaでDBから取得したデータのJSP表示
Java
-
-
4
JSPで<SELECT>の中にDBから持ってきたデータを反映させたい
Java
-
5
プルダウンで選択すると、DBの値を取得したい
JavaScript
-
6
SELECTの値を保持する
HTML・CSS
-
7
プルダウンメニューにDBの内容を表示させる
PHP
-
8
Java-jspの画面入力値保持について
Java
-
9
複数のテーブルから値を合計出力するSQLについて
MySQL
-
10
SQL Date型の列から年月だけを取得したい
SQL Server
-
11
Linuxのメッセージを出力して処理を終了する方法
UNIX・Linux
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースに変数の値を挿入
-
JSPでImportエラーになります
-
StrutsでJSPからListを受け取り...
-
requestの値が削除されません…
-
JSPでの文字列編集出力
-
Java Struts ~に対するゲッタ...
-
hiddenの値が期待した値で取得...
-
JSPからServletに、テーブルに...
-
全取得したデータをjspで順番に...
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
-
VBAで配列の計算
-
[JAVA]try 内の変数を外で!?
-
Javaで改行などが出来ないのです。
-
ORA-01858: 数値を指定する箇所...
-
javaで文字数制限するには?
-
ループ処理の際、最後だけ","を...
-
ダブルクォーテーションのrepla...
-
java
-
Java、2の0乗~10乗の表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
オブジェクトの中のプロパティ...
-
Java Struts ~に対するゲッタ...
-
hiddenの値が期待した値で取得...
-
StrutsでJSPからListを受け取り...
-
JSPでImportエラーになります
-
JSPからServletに、テーブルに...
-
<s:iterator>の値をリストで取...
-
requestの値が削除されません…
-
PropertyNotFoundException解決...
-
入力チェックとエラーメッセー...
-
JSPでDBからデータ読み込みブラ...
-
JSPにて、変数を利用してフォン...
-
JSFタグ<h:dataTable>でヘッダ...
-
【struts】 ActionFormで別のAc...
-
コンボボックスにつきまして
-
java strutsでの一覧表の表示方...
-
全取得したデータをjspで順番に...
-
iterateで受け取った値を処理に...
-
JSP DB 表示
-
サーブレットjspで勤怠スケジュ...
おすすめ情報