PHPタグクラウドの作成 - データテーブルの構造とクエリ方法_PHPチュートリアル
- WBOYオリジナル
- 2016-07-13 10:19:511067ブラウズ
phpタグクラウド制作 - データテーブル構造とクエリ方法
例: 特定の記事に、タグ テーブルに ID 1、2、3 のタグ名、つまり ID 1、2、3 のタグを含める必要がある場合、
は記事を追加するときに使用します
$result=implode(",", $_POST['tagid']);//取得したチェックボックス配列をカンマで分割
$_POST['tagid'] はフロントエンドのチェックボックスの配列を取得するためのものです。フロントエンドの HTML 部分のコードは次のとおりです。
//これは thinkphp の記述方法であり、ネイティブの記述方法も同様です
この方法で記事を保存する場合、必要なのはムードテーブルの tag=$result だけです。
データが保存されました。次に行う必要があるのは、対応するタグをクリックして、そのタグを含むすべての記事をクエリすることです。
記事に含まれるすべてのタグを表示する必要がある場合は、まず記事の ID を取得し、記事のタグをクエリする必要があります。
分割機能を使う
$taglist =explode(',',$source); //$source は記事のタグ値です。例: tag="1,2,3" を配列に分割します
その後、フロントデスクで次のように書くことができます:
for($index=0;$index
$tagsa=$tagdata->where('id=%d',$taglist[$index])->select();
echo "".($tagsa[0]['tagname'])。 "   " ;
}
タグ名はループで出力され、URLはタグテーブルのID値を渡します。 次に、URL値を受け取るファジークエリSQLを書くだけでよく、記事テーブルのタグは%idのようになります。 %。
注: 上記のクエリ ステートメントはすべて thinkphp 構文です。
このようなファジー クエリを使用すると、たとえば、記事テーブルのタグ フィールドの 1 つに 1,5 が含まれ、もう 1 つのタグ フィールドに 10,23 が含まれる可能性があるため、問題が発生します
%1% のようなタグをクエリすると、タグ フィールド 1,5 とタグ フィールド 10,23 を持つ 2 つの記事が見つかります。 like 条件が %1,% や %,1,% であっても動作しません。
そこで、ここでの私の記述方法は、次のように、フロントデスクで php コードを記述し、ネストされた 2 つの for ループを使用してそれを解決することです:
コードをコピー
$map['tag'] = array('like','%'.tagid.'%');
//dump($selecttag[$i]['id']);$arr_mood=$mood->where($map)->select();for($a=0;$a
$source=$arr_mood[$a]['tag'];
$taglist =explode(',',$source);
for($index=0;$index
I If (tagid == $taglist [$ Index]) {// 由来するtagidが記事のタグフィールドに存在する場合に出力します。
dump($arr_mood[$a]['title']);//ここでは、echo を使用してフロントデスクに出力できます
}
}
}
http://www.bkjia.com/PHPjc/871180.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/871180.html技術記事 PHP タグ クラウドの作成 - データ テーブルの構造とクエリ方法 たとえば、特定の記事にタグ テーブルに ID 1,2,3 のタグ名、つまり ID 1,2,3 のタグを含める必要がある場合、次に、テキストを追加...
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。