San*_*osh 5 php mysql select associative-array
我做了三张桌子.
Table1 = users.列名是userid(auto_increment)和username.
表2 =爱好.列名是hobbyid(auto_increment)和hobbyname.
表3 = users_hobbies.列名是FK_userid和FK_hobbyid.
现在爱好有板球,足球,排球.
在注册期间,用户只选择板球和足球,并将其存储在$ _SESSION ['hobby_id']关联数组中.
但在配置文件中,他/她想要增加一些爱好.
所以我想显示不等于 $ _SESSION ['hobby_id'] 的爱好列表.
这个,当然不起作用:
foreach($_SESSION['hobby_id'] as $k=>$v)
{
$query="select hobbyid,hobbyname from hobbies where hobbyid!= $v";
}
Output was football,volleyball and cricket,volleyball....but i wanted only volleyball
Run Code Online (Sandbox Code Playgroud)
所以我想要那个
$query="select hobbyid,hobbyname from hobbies where hobbyid!=(multiple values of session hobby id)";
Run Code Online (Sandbox Code Playgroud)
我必须输入什么代码才能获得理想的结果(只有排球)?
删除foreach循环并NOT IN在 MySQL 中使用比较:
$query="
SELECT hobbyid,hobbyname
FROM hobbies
WHERE hobbyid NOT IN (" . implode(',', $_SESSION['hobby_id']) . ")
";
Run Code Online (Sandbox Code Playgroud)