[英]PHP Session Array - Query Database
這是上一個問題的后續內容。
我的主頁上有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
。 這樣我就可以用它們查詢數據庫了?
您可以使用在此處介紹的implode()
函數。
$in = implode(',',$_SESSION['ids']);
mysql_query("SELECT * from yourbd where id in ($in)");//just an eg. mysql_* is deprecated
看一下這個功能。 祝好運!
$buttons=$_SESSION['ids'];
$str=implode(', ',$buttons);
$sqlquery = mysql_query("Select * from table where btn_id IN ($str)");
foreach ($IdsArray as $myId) {
$newIds[] = 'my_id = ' . $myId;
}
$orSeparatedIds = implode(" OR ", $newIds);
$query = "select my_id from mytable where $orSeparatedIds";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.