程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php標簽雲制作——數據表的結構和查詢方法

php標簽雲制作——數據表的結構和查詢方法

編輯:關於PHP編程

php標簽雲制作——數據表的結構和查詢方法


例如:如果需要某篇文章中包含tag表中的id為1,2,3的tagname,也就是id為1,2,3的標簽,   則在添加文章的時候用       $result=implode(",", $_POST['tagid']);//把獲取的checkbox的數組用逗號進行分割 $_POST['tagid']為獲取前台的復選框的數組,前台html部分代碼為: <input type="checkbox" name="tagid[]" value="{$tag.id}" id="{$tag.id}"><label for="{$tag.id}">{$tag.tagname}</label>//這裡是thinkphp的寫法,原生的寫法大同小異 這樣存儲文章的時候,只需要mood表中的tag=$result即可。       數據已經存好了,接下來我們需要實現的是,點擊相應的標簽查詢出所有包含該標簽的文章。       如果我們需要顯示某篇文章所包含的所有標簽,我們要先獲取該片文章的id,查詢出該篇文章的tag,   用分割函數   $taglist = explode(',',$source); //$source為文章的tag值,例如:把tag=“1,2,3”分割為一個數組 然後在前台可以這樣寫:   for($index=0;$index<count($taglist);$index++){              $tagsa=$tagdata->where('id=%d',$taglist[$index])->select();             echo "<a id='tag' href='location/tag/".$tagsa[0]['id']."'>".($tagsa[0]['tagname'])."</a>&nbsp&nbsp&nbsp" ;               } 循環輸出tagname,url傳tag表的id值,接下來只需要在接收url值的地方寫一個模糊查詢的sql,文章表的tag like %id%。       注:以上的查詢語句都是thinkphp的語法。   這樣用模糊查詢會出現一個問題,因為例如:文章表的其中一個tag字段可能包含1,5    另一個tag字段可能包含10,23   如果查詢tag like %1%的時候會查詢出  tag字段為1,5   和   tag字段為10,23   的兩篇文章。即使like條件為%1,%或者%,1,%也是不行的。   因此這裡我的寫法是在前台寫php代碼,用兩個嵌套的for循環來解決,如下:   復制代碼 $map['tag'] = array('like','%'.tagid.'%');             //dump($selecttag[$i]['id']);$arr_mood=$mood->where($map)->select();for($a=0;$a<count($arr_mood);$a++){                 $source=$arr_mood[$a]['tag'];                 $taglist = explode(',',$source);                                                   for($index=0;$index<count($taglist);$index++){                                           if(tagid==$taglist[$index]){//當傳過來的tagid在文章的tag字段中存在,則輸出。                             dump($arr_mood[$a]['title']);//這裡可以用echo輸出至前台                     }                                      }                                                }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved