![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
以下から誘導されてきました。
http://oshiete.goo.ne.jp/qa/7693984.html
PHP 5.3.8、Linux(詳細未定)、Apache(詳細未定)です。
PHPでDB(Postgres)から取得したデータを一覧表示し、
同じ画面にテキストボックスを1つ用意します。
テキストボックスに入力された値と表示しているデータを比較し、
一致していればその行の背景色を変えるか、印を表示する等して、
照合済みである事がわかるようにします。
最後に、照合されたデータを一括でPOSTしたいのですが、
ターゲットがiPhone、iPadである為、通信を減らしたいという要件があり、
照合中はブラウザ側でデータを保持し、通信を1回で済むようにする場合、
どのようにコーディングすればいいでしょうか。
また、PHP単体で難しい場合、JavaScript等、無料で実現できる方法があれば教えて頂きたいです。
No.1ベストアンサー
- 回答日時:
こんにちは。
JavaScriptを併用すれば実現可能かと思われます。
一覧から取得したデータを、
<input type="hidden" name="data[]" value="<?= $row['value'] ?">
みたいな感じでデータ保持用のhidden項目を用意してあげます。
一つ一つのtextに入力があった場合、同列のhidden要素のvalueと比較し、一致した場合背景色を変えたり印を表示します。
(<input type="hidden" name="match[]">のようなhiddenに一致したかしないか保存すると良いと思います)
最後にそのformをpostすればmatchの配列が一致したか否かを持っているのでサーバ側で処理が出来ると思います。
1レコード毎に以下の要素が用意されるイメージです。
入力値:<input type="text" name="inp[]">
<input type="hidden" name="data[]" value="0001">
<input type="hidden" name="match[]" value="0">
JavaScriptは
入力値に入力があったらそのレコードのdata[]のvalueと比較し、同じだったらそのレコードのmatch[]のvalueを1にする感じです。
要素の選択等簡単に行うのであればjQueryを利用するとコーディング量を減らすことが可能です。
No.2
- 回答日時:
一応、PHPだけで作れそうな最低限の機能の例を。
>PHPでDB(Postgres)から取得したデータを一覧表示し、
>印を表示する等して、
>照合済みである事がわかるようにします。
>最後に、照合されたデータを一括でPOSTしたいのですが、
PHPで以下のようなHTMLを出力してください。
<form action="送信先" method="POST">
<table>
<tfoot>
<tr><td colspan="2"><input type="submit" value="送信"></td></tr>
</tfoot>
<tbody>
<tr><td><input type="checkbox" name="id[]" value="1"></td><td>ID 1のデータ</td></tr>
<tr><td><input type="checkbox" name="id[]" value="2"></td><td>ID 2のデータ</td></tr>
<tr><td><input type="checkbox" name="id[]" value="3"></td><td>ID 3のデータ</td></tr>
<tr><td><input type="checkbox" name="id[]" value="4"></td><td>ID 4のデータ</td></tr>
</tbody>
</table>
テキストボックスとの照合は無理ですが、
表示内容を目視で確認し、該当する項目があればチェックボックスにチェックを入れ、
送信ボタンを押せば、そのチェックがついたデータだけが送信されます。
これならPHPだけで作れますし、最低限の要件(データを登録する作業)は満たせると思います。
ご回答有難うございます。
なるほど、チェックボックスだとこんな方法もあるんですね。
ただ、今回はテキストボックスが要件でしたので、機会があれば試させて頂きたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
- PHP ここで言うトークンの意味を教えてください。 3 2022/08/24 03:03
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Excel(エクセル) エクセルで対象日に該当するデータがある場合に別表へ全対象者を表示させたい。 3 2023/07/12 09:48
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
チェックボックス付きのテーブ...
-
複数のselect値で1つも選択され...
-
javascriptで表(テーブル)の自...
-
Javascriptで自動計算の合計の...
-
複数のテーブルをラジオボタン...
-
チェックボックスのチェック結...
-
テキストボックスの中に文字と...
-
テーブル内のチェックボックス...
-
チェックが重なって連続してい...
-
表示されません(>_<)!!
-
▲▲JavaScriptに詳しい人見てく...
-
占いのプログラムについて
-
BBSのアイコンをプルダウンメニ...
-
画面表示とともにtableの指定の...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
value内に変数を入れたい
-
ボタン2回押しを無効にしたい
-
onchangeイベントを強制的に発...
-
<JavaScript>tableタグを入力不...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックス付きのテーブ...
-
localStorageでのcheckbox制御
-
複数のselect値で1つも選択され...
-
JavaScriptの「.querySelectorA...
-
Javascriptの電卓で最初の何も...
-
文字数を数える際に空白、改行...
-
formで項目を連結したい
-
jQueryで合計を出したい
-
Formのシリアライズができない
-
画面表示とともにtableの指定の...
-
テーブル内のチェックボックス...
-
入力チェックの外部スクリプト...
-
ラジオボタンが選択されたらテ...
-
VBSでの自動ログイン
-
Javascriptで自動的に計算する...
-
jQuery テキストボックス読み取...
-
同一nameの input type="text"...
-
ボタンクリックでフォーカス移動
-
画面の2重起動をチェックする...
-
送信ボタン連打を抑止したいです
おすすめ情報