ホームページ >バックエンド開発 >PHPチュートリアル >チェックボックスがクライアントによってチェックされたコンテンツを送信した後、サーバーはクライアントによって送信されたチェックされたクエリをどのように処理しますか?

チェックボックスがクライアントによってチェックされたコンテンツを送信した後、サーバーはクライアントによって送信されたチェックされたクエリをどのように処理しますか?

WBOY
WBOYオリジナル
2016-06-23 14:23:381180ブラウズ



たとえば、1、4、5 を確認しました
サーバー側で 1、4、5 を取得し、各カテゴリに大、中、小のモデルがいくつあるかをクエリする方法。
テーブル内のデータベースのフィールドは、kid、lb、および xh です。モデルには、大、中、小の 3 つの値のみがあります。

また、ページング後にデータを送信するためのチェックボックスをオンにする方法。
例えば、1ページ目では項目1、4、5をチェックし、2ページ目では項目8、9、12をチェックしました。 ページをめくって確認する必要があります。ページをめくって専門家のアドバイスを確認してからデータを提出してください。 。


ディスカッションに返信 (解決策)

チェックボックスの値を kid に設定します

サーバーはチェックされた子を取得します
$kidList = $_POST['checks'];
これらの ID を使用してデータベースからデータを検索します

ページ内のデータを取得したい場合は、 get を使用できますパラメータを持ってきます。データ量が少ない場合は、JS を使用してページングを切り替える方が簡単です

ページングパラメータをセッションに保存するだけです。

チェックボックスの値は kid に設定されます
check kid を取得します
$kidList = $_POST['checks'];
これらの ID を使用してデータベースからデータを検索します

ページ内のデータを取得したい場合は、get を使用してパラメータを取得できます。データ量が少ない場合は、JS を使用してページネーションを切り替える方が簡単です

データベース内でこれらの ID を使用する方法。 。
一つある場合は select * from table where kid=¥kid です
でも、複数チェックされている場合はどう書けばいいのでしょうか。 。

チェックボックスの値は kid に設定されます

チェック kid を取得します
$kidList = $_POST['checks'];
これらの ID を使用してデータベースからデータを検索します

ページ内のデータを取得したい場合は、get を使用してパラメーターを取得できます。データ量が少ない場合は、JSを使ってページングを切り替える方が簡単です
アドバイスをお願いします。 。 。

$kid=join(',',$_POST['kid'])

$sql="select * from table where kid in ($kid)";


1. これを増やすか強化するために最初に検討する必要があります。検索機能を使用する場合は、関係のないデータの表示を除外するようにしてください

2. 各ページに表示するデータの量をユーザーに設定させることで、できるだけ多くのデータを表示することもできます

このような問題は、基本的に上記 2 つの方法で回避できます。

どうしても回避する方法がない場合は、「ショッピングカート」と同様の処理方法を採用し、ユーザーが選択したデータをCookieまたはセッションに一時的に保存することができます
「ショッピングカートに追加」と「支払いを確認する」を実装すればOKです。パラメーターを渡す GET メソッドは推奨されません

実際、最も重要なことは、チェックボックスの name 属性に名前を付ける方法です。異なる名前は異なる変数に渡されます。js は、 onSubmit で送信するための配列またはリスト

ページングについては、複数のページを同じフォームに保持できるように、div+hide を使用してページを変更することをお勧めします
ajax の場合は、ajax を使用してページを変更することもできます。ページを変更するたびに送信するだけです。一度、PHP 側で一時的に保存して送信し、まとめてから計算します

作者はオープンソースコードと基礎知識をもっと読むことをお勧めします。
SQL ステートメント select in のような単純なステートメントを理解する必要があります

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。