这是对上一个问题的回答。
我的主页上有4个按钮,每个按钮都有自己的ID。当有人单击按钮时,Jquery会抓取按钮ID并通过Ajax将其发送到PHP,然后将其添加为会话变量。如果人们点击多个按钮,它将发送每个按钮的ID。 所以最后我可能在数组中有4个变量。
会话创建为一个数组,以便它可以保存多个ID: 像这样:
<?php
session_start();
if ( ! is_array( $_SESSION['ids'] ) ) {
$_SESSION['ids'] = array();
}
if ( ! in_array($_POST['session'], $_SESSION['ids'] ) ) {
$_SESSION['ids'][] = $_POST['session'];
}
?>
一切正常,如果我print_r $_SESSION['ids']
它正确显示了点击并存储的每个按钮的ID,例如:
[0] => 1, null, [1] => 3, null, [2] => 4
(存储的按钮ID为1,3和4。
现在的问题是我需要在数据库中查询已存储的按钮ID。
如何打破阵列并获取值,例如:按钮ID 1, 3
和4
。
这样我就可以用它们查询数据库了吗?
答案 0 :(得分:1)
您可以使用implode()
功能,描述为here。
$in = implode(',',$_SESSION['ids']);
mysql_query("SELECT * from yourbd where id in ($in)");//just an eg. mysql_* is deprecated
答案 1 :(得分:0)
查看this功能。祝你好运!
答案 2 :(得分:0)
$buttons=$_SESSION['ids'];
$str=implode(', ',$buttons);
$sqlquery = mysql_query("Select * from table where btn_id IN ($str)");
答案 3 :(得分:0)
foreach ($IdsArray as $myId) {
$newIds[] = 'my_id = ' . $myId;
}
$orSeparatedIds = implode(" OR ", $newIds);
$query = "select my_id from mytable where $orSeparatedIds";