ホームページ > バックエンド開発 > PHPチュートリアル > PHP 検索ページで分類取得を実装するにはどうすればよいですか?

PHP 検索ページで分類取得を実装するにはどうすればよいですか?

WBOY
リリース: 2016-06-23 14:13:44
オリジナル
1719 人が閲覧しました

この投稿の最終編集者は u010572351 で、2013-06-22 10:09:22 です

これで終わりです。ショッピング モールや映画サイトの場合は、以下に示すようにさまざまな検索を実行する必要があります

個別に検索しますタイプ、意志
別途、年齢で検索すると
別途、出身地で検索すると
になります
ただし、タイプを選択した場合は、出身地、年齢、またはさまざまな組み合わせを選択します3 つのうち、かなり複雑です。対処方法がわかりません。主に、前のユーザーがフィルタリングするためにクリックしたパラメータを保持する方法を教えてください。

次に、原産地、年、およびタイプのリンクは、個別に記述することができないため、非常に記述が困難です。
ここでは、年を年のパラメータとして使用するだけで、タイプにはそのパラメータのみが含まれます。独自のタイプであり、発生場所は発生場所のパラメータです。例:
<a href="/search.php?area="内地">内地</a><a href="/search.php?type="动作">动作</a><a href="/search.php?year="2011">2011</a>
ログイン後にコピー

条件は一度に 1 つだけあり、共存することも、複数の条件をフィルタリングすることもできません。
どうすればいいですか?

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

$area=$_GET['area'];//値の取得は自分で処理する必要があります

$type=$_GET['type'];

$year=$ _GET[' year'];
$sql="select * from shop where 1";
$sql.=isset($area)?" and area='$area'":''; ($type )?" および type='$type'":'';
$sql.=isset($year)?" および area='$year'":'';
$result=mysql_query($sql) );
その間...
私の答えがお役に立てば幸いです。


条件はjsで読み込む必要があり、リンクを直接記述することはできません。

条件は js を使用して読み込む必要があり、リンクを直接記述することはできません。

上記のことは理解できました、ありがとうございます。しかし、以下の条件を js で記述するにはどうすればよいでしょうか? 。 。 。 。 。 jsと関係あるのかな?

書いて見てもらえますか?

これをすると

echo join(' - ', $_GET), '<br>';$dict = array(  'area' => array('内地', '港台'),  'type' => array('动作', '爱情'),  'year' => array('2001', '2013'),);foreach($dict as $key=>$item) {  $param = $_GET;  foreach($item as $v) {    $param[$key] = $v;    $t = http_build_query($param);    echo "<a href='/search.php?$t'>$v</a> ";  }  echo '<br>';}
ログイン後にコピー
ログイン後にコピー
が表示されます

これをすると
echo join(' - ', $_GET), '<br>';$dict = array(  'area' => array('内地', '港台'),  'type' => array('动作', '爱情'),  'year' => array('2001', '2013'),);foreach($dict as $key=>$item) {  $param = $_GET;  foreach($item as $v) {    $param[$key] = $v;    $t = http_build_query($param);    echo "<a href='/search.php?$t'>$v</a> ";  }  echo '<br>';}
ログイン後にコピー
ログイン後にコピー
が表示されます

今私が理解していないのは、リンクの書き方です。教師が言及したこれらのカテゴリ単語は比較的固定されているため、問題はこれらのカテゴリに対する適切なリンクをどのように記述するかです。


まず、私が提供したコードを実行して、URL を動的に生成する方法を体験してください

あなたは、私が提供したコードを最初に実行して、URL を動的に生成する方法を体験してください
実行後、どうやってリンクを作成しますか? js の話、その方法

まず、私が提供したコードを実行して、URL を動的に生成する方法を体験してください

echo join(' - ', $_GET), '
'; この文は何を意味しますか?見たことはありませんが、役に立たないようです


セッションを使用して

<?phpsession_start();if(! isset($_SESSION['search']))   $_SESSION['search'] = array();$_SESSION['search'] = array_merge($_SESSION['search'], $_GET);echo join(' - ', $_SESSION['search']), '<br>';?><a href="/search1.php?area=内地">内地</a><a href="/search1.php?type=动作">动作</a><a href="/search1.php?year=2011">2011</a>
ログイン後にコピー
ログイン後にコピー
を処理することもできます
ジャンプをマークするために ah を使用しています。js は必要ありません。

echo join(' - ', $_GET) , '
';

クリック数の変化を直感的に観察できます


セッションを使用して

<?phpsession_start();if(! isset($_SESSION['search']))   $_SESSION['search'] = array();$_SESSION['search'] = array_merge($_SESSION['search'], $_GET);echo join(' - ', $_SESSION['search']), '<br>';?><a href="/search1.php?area=内地">内地</a><a href="/search1.php?type=动作">动作</a><a href="/search1.php?year=2011">2011</a>
ログイン後にコピー
ログイン後にコピー
を処理することもできます

これで複数のフィルターの効果を実現できますか条件が共存しているのか?

本土の映画など、時は 2011 年、アクション映画

ジャンプをマークするには、ah を使用します。js は必要ありません

echo join(' - ', $_GET), '
';クリック数の変化を視覚的に観察できます

無知で申し訳ありませんが、SESSION を使用して複数条件フィルタリングを実装したことがありますか?いくつかのリンクが生成されただけで、さまざまな条件での複数のクリックを実現し、複数条件のフィルタリングを実現できるかどうかはわかりませんでした。 。 。 。 。

プログラム ファイルを search1.php として保存しましたか?

プログラム ファイルを search1.php として保存しましたか?

モデレータ様、私はプロジェクトに取り組んでいると同時に勉強しています、笑、

私は現在、上記の SESSION が実装されているかどうか、また複数条件フィルタリングを実装する方法について混乱しています。 。 。今私は混乱しています


プログラム ファイルを search1.php として保存しましたか?
分かりました、ありがとう兄弟。 。 。 。 。勉強してみます。 。ありがたい! ! ! ! ! ! ! ! ! ! !

より緩やかな条件で別のファイルをください (任意のファイル名で保存します。もちろんサフィックスは php でなければなりません)

session_start();if(! isset($_SESSION['search']) || ! $_GET)   $_SESSION['search'] = array();$_SESSION['search'] = array_merge($_SESSION['search'], $_GET);echo join(' - ', $_SESSION['search']), '<br>';?><a href="?area=内地">内地</a><a href="?area=港台">港台</a><br><a href="?type=动作">动作</a><a href="?type=爱情">爱情</a><br><a href="?year=2011">2011</a><a href="?year=2013">2013</a>
ログイン後にコピー
ログイン後にコピー

リンクをクリックすると効果がわかります


より緩やかな条件で別のファイルをください (以下に保存してください)もちろん任意のファイル名です) サフィックスが php の場合)

session_start();if(! isset($_SESSION['search']) || ! $_GET)   $_SESSION['search'] = array();$_SESSION['search'] = array_merge($_SESSION['search'], $_GET);echo join(' - ', $_SESSION['search']), '<br>';?><a href="?area=内地">内地</a><a href="?area=港台">港台</a><br><a href="?type=动作">动作</a><a href="?type=爱情">爱情</a><br><a href="?year=2011">2011</a><a href="?year=2013">2013</a>
ログイン後にコピー
ログイン後にコピー
リンクをクリックすると効果がわかります


ありがとうございます!私の混乱をすべて解決しました!

投稿していただきありがとうございます。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート