在SQL查询中显示Orderby数组值使用IN()时

时间:2018-03-22 07:13:38

标签: php sql

以下是我的代码,它会检索cookie值并显示最近查看过的产品

//get cookie vlue
$myCookieArr = array_unique(json_decode($_COOKIE['myshopping']));
//reverce cookie order
$myCookieArry = array_reverse($myCookieArr);
//loop through
foreach ($myCookieArry as $key => $value) {
    $allCProduct .= $value.",";
}
$allCProduct = rtrim($allCProduct,',');

$getRandProduct = $conn->query("SELECT * FROM product WHERE id IN (".$allCProduct.")" );

它工作正常,但问题是它不是array_reverse($myCookieArr)的顺序。那么如何通过我的数组值进行排序。

如果用户查看第二个产品,首先看到的产品将会持续发生。假设我正在获取数组

(
 [0] => 35
 [0] => 39
 //This is Two product 
 //i have already seen
)

现在,如果我显示第三个产品40,那么订单应该

(
 [0] => 40
 [1] => 35
 [2] => 39
)

注意:我没有安全问题

那我怎么能实现呢?

0 个答案:

没有答案