質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

712閲覧

PHPで検索機能を作ってます。

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2022/07/28 02:18

編集2022/07/28 02:50

実現したいこと

DBから取得した一覧画面があります。その上の方にテキストボックスと、ボタンがあり、
テキストに文字を入力してボタン押下すると、部分一致で検索して、そのデータのみに絞りたいです。

発生している問題・エラーメッセージ

検索ボタン押下しても反応しない。tpl側では、変数には値が入っている

該当のソースコード

<tn0010.php>

<?php $W_KENSAKU = getForms($forms, 'W_KENSAKU', NULL); 中略 //一覧表示 $sql = ""; $sql .= " SELECT "; $sql .= " KANRINO,"; $sql .=" KANRINO_OYA,"; $sql .=" IPADDRESS,"; $sql .= " keiti.KEITAINM AS KEITAINM,"; $sql .=" YOUTO,"; $sql .=" tant.TANTNM AS TANTNM,"; $sql .=" MAKER,"; $sql .=" OS,"; $sql .=" CPUNM,"; $sql .=" DOMEIN,"; $sql .=" CPU,"; $sql .=" KOASU,"; $sql .=" MEMORI,"; $sql .=" DESK1,"; $sql .=" DESK2,"; $sql .=" DESK3,"; $sql .=" DESK4,"; $sql .=" DESK5,"; $sql .=" OSLICENCE,"; $sql .=" OFFICE,"; $sql .=" CASE WHEN KONYUYM IS NULL THEN '-' ELSE SUBSTR(TO_CHAR(KONYUYM,'000000'),1,5) || '/' || SUBSTR(TO_CHAR(KONYUYM,'000000'),6,2) END KONYUYM, "; $sql .=" CASE WHEN HAIKIYM IS NULL THEN '-' ELSE SUBSTR(TO_CHAR(HAIKIYM,'000000'),1,5) || '/' || SUBSTR(TO_CHAR(HAIKIYM,'000000'),6,2) END HAIKIYM, "; $sql .=" BIKO"; $sql .= " FROM "; $sql .= " public.M_TANMATU tanm "; $sql .= " LEFT JOIN "; $sql .= " public.M_TANT tant "; $sql .= " ON "; $sql .= " tanm.tantcd = tant.tantcd "; $sql .= " LEFT JOIN "; $sql .= " public.M_KEITAI keiti "; $sql .= " ON "; $sql .= " tanm.keitaikb = keiti.keitaikb "; If ($W_JOTAI2 != 0) { $sql .= " WHERE keiti.KEITAINM = '".$W_JOTAI[$W_JOTAI2]."' "; } If ($W_KENSAKU != NULL AND $W_JOTAI2 != 0) { $sql .= " AND "; } If ($W_KENSAKU != NULL AND $W_JOTAI2 == 0) { $sql .= " WHERE "; } If ($W_KENSAKU != NULL) { $sql .= " KANRINO Like %".$W_KENSAKU."% "; } 中略 $smarty->assign("W_KENSAKU", $W_KENSAKU);      $smarty->assign("datalist", $datalist);    $smarty->display("tn0010.tpl");

<tn0010.tpl>

<HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=UTF-8"> <LINK rel="stylesheet" type="text/css" href="./style.css"> <TITLE>test</TITLE> <SCRIPT Language="JavaScript"> function kensaku() { var kensaku = document.getElementsByName("W_KENSAKU")[0].value; document.form2.W_KENSAKU.value = document.form1.W_KENSAKU.value; if (kensaku == "") { alert("[文字列検索] を入力して下さい。"); document.form2.W_KENSAKU.focus(); return false; } } </SCRIPT> </HEAD> <BODY> <FORM name="form1" action="tn0011.php" method="POST" target="main"> 中略 <TD width="50"></TD> <TD><font color="BLUE">文字列検索</font></TD> <TD nowrap> <INPUT type="text" style="ime-mode:active" name="W_KENSAKU" value="{$W_KENSAKU}"> </TD> <TD><INPUT type="button" name="ke" value="検索" onClick="kensaku();"></TD> 中略 </TABLE> <BR> </CENTER> </FORM> <FORM name="form2" action="tn0010.php" method="POST"> <INPUT type="hidden" name="W_KENSAKU" value=""> </FORM> </BODY> </HTML>

※イメージ画像はサイズがでかすぎて添付できせん。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2022/07/28 02:24

tpl側のコードが一部過ぎて何とも言えませんが、 formは正しく閉じられていますか? 入れ子はできません。 また、getFormsというオリジナルメソッドの定義も提示してください。
退会済みユーザー

退会済みユーザー

2022/07/28 02:25

formは正しく閉じられてます。 getformsの定義は以下です。 function getForms($forms, $target, $default = 0) { $result = null; if( isset($forms[$target])){ $result = $forms[$target]; }else{ $result = $default; } return $result; }
m.ts10806

2022/07/28 02:38

質問は編集できますので、適宜追記を。 それに「正しく閉じられています」では他者には伝わりません。 コードで見せてください。繰り返し部分は省略しても良いでしょうけど、 コピペでエラーが出るとか、全容が見えないのはいけません。 $forms という変数も定義も何もなくいきなり使われているので、再現確認はできません。
退会済みユーザー

退会済みユーザー

2022/07/28 04:17

質問編集しました。確認お願いします。
m.ts10806

2022/07/28 04:22

getformsの定義と >$forms という変数も定義も何もなくいきなり使われているので、再現確認はできません。 こちらについては?
m.ts10806

2022/07/28 04:23

現状だと「$formsって定義されずいきなり引数で渡されるからisset()はfalseになって何も来てないよね」ということしか言えません。
退会済みユーザー

退会済みユーザー

2022/07/28 04:28

$forms = array();っていうのが別の.phpにあった。 REQUESTパラメータから受け取った値の配列だそうです。
退会済みユーザー

退会済みユーザー

2022/07/28 04:41

補足ちなみにこの画面にはコンボボックスがあって。それで並び順変える機能と、形態っていう項目を絞って表示する機能があります。それと同じようにやっていますが、その機能は変数に固定で、select結果を入れており、うまくいってますが、今回の検索機能は、入力した値を変数に入れるため、うまくいかない氣はしています。
m.ts10806

2022/07/28 04:46

>$forms = array();っていうのが別の.phpにあった。 REQUESTパラメータから受け取った値の配列だそうです。 その別のPHPとの連携も見えないですしarray()は空の配列です。 現状言えることは先に書いた通り。 「$formsって定義されずいきなり引数で渡されるからisset()はfalseになって何も来てないよね。空の配列でも同じ」です。 他者がコピペで再現できる程度に配慮いただけませんか? 小出しにされてもアドバイスはできません(赤の他人にエスパーを期待していませんか?)
退会済みユーザー

退会済みユーザー

2022/07/28 04:48

やっぱりエンジニアは向いてないわ。イライラする。やめて正解質問し直します。
m.ts10806

2022/07/28 04:59

向いてる向いてないを判断する場所ではないので言及避けますが、 解決に必要な情報の提示は質問者の義務なので、そこを怠るべきではないと思います。 解決したくないなら他所でダラダラ個人のペースでされたほうが良いでしょう。 同じようなスタンスで投稿する限り、同じような反応が返ってきます。 丸投げするにしても情報不足しててアドバイスしようがないんですよ。(だから回答がつかない)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問