【发布时间】:2013-01-14 10:40:34
【问题描述】:
我正在我的网站上构建一个搜索系统,用于搜索用户技能,此技能以令牌的形式呈现,用户技能的 db 表如下所示:
id=> primary id(auto increment),
user_id=> this is the user id,
competence_nom=> this is the skill name,
competence_id=> this is the skill parent id
所以我想要的是当两个技能(或更多..)属于一个用户时,显示如下:
user name + skill one + skill two
而不是这样(我现在正在实现的目标)
user name +skill one
user name +skill two
我正在使用 jQuery tokeninput 插件将令牌数据传递给服务器端,我将技能 id 传递给服务器端,然后在服务器端我分解 jQuery tokeninput 给出的技能数组:
$comps=explode(",", $_POST["competences"]);
然后我把它放在一个 foreach 循环中:
foreach($comps as $i=>$v){
}
这就是我得到错误输出的地方:
user name +skill one
user name +skill two
【问题讨论】:
-
我认为单个 mysql 查询不会为您提供所需格式的结果。您需要获取数据并在您的 php 代码中对其进行重组。
-
是的,我正在尝试通过从 sql 查询中填充数组来做到这一点,但我仍然无法成功。
-
你现在使用什么查询?
-
这个查询中有很多不一致的东西,但它给了我重复的模式:
$a=$db->query("SELECT * FROM competences, competences_user, users WHERE users.id=user_id AND ".$_comps."=competence_id AND ".$_comps."=c_id AND user_id!=0 GROUP BY c_id ");(这个查询在 foreach 中)
标签: php jquery mysql jquery-tokeninput