ホームページ  >  記事  >  バックエンド開発  >  検索ボックスを使わずにURLを蓄積する方法を探しています

検索ボックスを使わずにURLを蓄積する方法を探しています

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

ブラウザを検索

Index.php?chid=4&ccid18=197
これは URL です。次のリンクをクリックしたときに、ブラウザのアドレス バーにあるこの URL のアドレスを
Index.php?chid=4&ccid18=197&ccid17 にする方法=166
つまり、
&ccid17=166 が 1 つ追加されました
クリックすると、次の URL が
Index.php?chid=4&ccid18=197&ccid17=166&ccid18=196 に重畳されます
一度に 1 つ追加されました
&ccid18=196
このアドレス?
検索ボックスを使用しない方法を探しています。
前回はここで重要な問題を解決しましたが、今日もここに来てくれてありがとうございます。

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

リンクを定義するだけです
ページを提供します

さらに詳しく説明すると、2 つの JS を組み合わせて検索クエリを作成しました
&ccid18=196
この接続はクエリ フィールドです
したがって、クエリ条件が重ねられるたびに、クエリ条件が 1 つ増え、クエリはより詳細になります

http://www.lyfcw.com/mobile/search.php?chid=4&ccid1=207&ccid17=166 ページは次のとおりです。ここ。ドロップダウン ボックスで 1 つを選択すると、上のリストには 1 つしか表示されなくなり、複合検索方法を使用する必要があります

つまり、エリアで Jianxi を選択すると、他のオプションを選択すると Jianxi が表示されます。選択肢はまだ存在します

1 つ以上の c726a8da2e1b0a50980b1ad4157a77d3 を作成し、$_GET の必要な値を書き留めます
クライアントは、js を使用して各入力タイプを組み合わせて送信します (送信は必ずしも必要ではありません)

別の方法PHP は js 変数を直接書き込み、値は現在の URL であり、js が処理されます。 + (window.location.href.indexOf('?') ? '&':'?')+ ccid の名前 + '=' + ccid の値)

'http://'.$_SERVER['HTTP_HOST '].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
これが現在の URL です

あとはこれに基づいて変数を追加するだけです


ヒーローの皆さん、ありがとうございます

' http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']

これが現在の URL です

次に、変数を追加するだけです



それは簡単です
ジャンプ URL = window.location.href + (window.location.href.indexOf('?') ? '&':'?')+ ccid 名 + '=' + ccid の値)


テストしましたが、まだ正しく理解できません

http://www.lyfcw.com/mobile/ を教えてください。 search.php ?chid=4 テストページはこれです。地域の価格、用途、ステータスを同時に選択して組み合わせて検索できることが条件です。エリアを選択し、目的を選択するとエリア選択がなくなりました
今はこんな感じです

欲しいものはこんな感じです


つまり、上記の4つのフィルタ値です同時にフィルタリングすることはできません。同時にフィルタリングしたい場合は、アクセス アドレスの重ね合わせ (&ccid12=3032&ccid1=207&ccid17=164) を使用する必要があります。オーバーレイの方法がわかりません

小さな例を示しますので、見てください

<?php $base_url = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?';parse_str($_SERVER['QUERY_STRING'], $query_strings);foreach(array('ccid1', 'ccid2', 'ccid3', 'ccid4') as $ccid) {	$strings = $query_strings;		unset($strings[$ccid]);	$strings[$ccid] = '';	${$ccid.'_url'} = $base_url.http_build_query($strings); }	?><a href="<?php echo $ccid1_url; ?>1" target="_self">ccid1</a><a href="<?php echo $ccid2_url; ?>2" target="_self">ccid2</a><a href="<?php echo $ccid3_url; ?>3" target="_self">ccid3</a><a href="<?php echo $ccid4_url; ?>4" target="_self">ccid4</a>

解決策を提供します。既存のプログラム コードを変更する必要はありません

検索の先頭に次のコードを追加するだけです.php

if(! $_GET) { //首次进入清楚 cookie  foreach($_COOKIE as $k=>$v) setcookie($k, '');}else {  //将传入的参数保存于 cookie 中  foreach($_GET as $k=>$v) setcookie($k, $v);  //取回上次保存的参数  $_GET = array_merge($_COOKIE, $_GET);  //$_GET 中就含有了诸复合查询条件了}
テスト 例
<?phpif(! $_GET) {  foreach($_COOKIE as $k=>$v) setcookie($k, '');}else {  foreach($_GET as $k=>$v) setcookie($k, $v);  $_GET = array_merge($_COOKIE, $_GET);  print_r($_GET);}?><p> </p><label><a href="?chid=4&ccid17=164" >5000元以下</a></label><label><a href="?chid=4&ccid17=166" >5000-7000元</a></label><label><a href="?chid=4&ccid17=167" >7000-10000元</a></label><label><a href="?chid=4&ccid17=168" >10000-15000元</a></label><label><a href="?chid=4&ccid17=169" >15000元以上</a></label><p> </p><label><a href="?chid=4&ccid12=3" >普通住宅</a></label><label><a href="?chid=4&ccid12=2" >公寓</a></label><label><a href="?chid=4&ccid12=3032" >商住</a></label><label><a href="?chid=4&ccid12=3023" >写字楼</a></label><label><a href="?chid=4&ccid12=3024" >商铺</a></label><label><a href="?chid=4&ccid12=4" >别墅</a></label><label><a href="?chid=4&ccid12=1" >四合院</a></label><label><a href="?chid=4&ccid12=3058" >仓库</a></label><label><a href="?chid=4&ccid12=5" >其他</a></label>

この php をテンプレート ファイル search.html に配置できますか? search.php に配置すると、Web 版の不動産検索ページに影響します。同じsearch.phpを使用しているので、今回実装したいのは携帯電話です。

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