Php 仅从会话中获取阿曲布他,而不是阿曲布他id
我在一个网站上做了一些过滤器,我必须按会话从一些数据中过滤阿曲布他。我举的例子是通过过滤心房肌和id,我不知道如何选择心房肌和他的心房肌的所有id。阿曲布他和我尝试做的代码如下:Php 仅从会话中获取阿曲布他,而不是阿曲布他id,php,session,Php,Session,我在一个网站上做了一些过滤器,我必须按会话从一些数据中过滤阿曲布他。我举的例子是通过过滤心房肌和id,我不知道如何选择心房肌和他的心房肌的所有id。阿曲布他和我尝试做的代码如下: if (isset($_REQUEST['Filtru']) && strpos($_REQUEST['Filtru'], 'atr') === 0) { if (isset($_REQUEST['AtributID']) && (int) $_REQUEST['Atribu
if (isset($_REQUEST['Filtru']) && strpos($_REQUEST['Filtru'], 'atr') === 0) {
if (isset($_REQUEST['AtributID']) && (int) $_REQUEST['AtributID'] > 0) {
$_SESSION['Catalog']['Filtre']['Atribute']['AtributID'] = $_REQUEST['AtributID'];
$_SESSION['Catalog']['Filtre']['Atribute']['Filtru'] = $_REQUEST['Filtru'];
$_SESSION['offset'] = 0;
}
else {
unset($_SESSION['Catalog']['Filtre']['Atribute'][$_REQUEST['Filtru']][-1 * (int) $_REQUEST['AtributID']]);
}
}
$fstr = '';
if(isset($_SESSION['Catalog']['Filtre']['Atribute']['AtributID']) && isset($_SESSION['Catalog']['Filtre']['Atribute']['Filtru']))
$fstr .= ' '.$_SESSION['Catalog']['Filtre']['Atribute']['Filtru'].' in ('.$_SESSION['Catalog']['Filtre']['Atribute']['AtributID'].')';
我就是这样尝试的:
if (isset($_REQUEST['Filtru']) && strpos($_REQUEST['Filtru'], 'atr') === 0) {
if (isset($_REQUEST['AtributID']) && (int) $_REQUEST['AtributID'] > 0) {
$_SESSION['Catalog']['Filtre']['Atribute']['AtributID'] = $_REQUEST['AtributID'];
$_SESSION['Catalog']['Filtre']['Atribute']['Filtru'] = $_REQUEST['Filtru'];
$_SESSION['offset'] = 0;
}
else if (!isset($_REQUEST['AtributID']) || (int) $_REQUEST['AtributID'] <= 0) {
if (isset($_REQUEST['Atribute']) && (int) $_REQUEST['Atribute'] > 0) {
$_SESSION['Catalog']['Filtre']['Atribute'] = $_REQUEST['Atribute'];
$_SESSION['Catalog']['Filtre']['Filtru'] = $_REQUEST['Filtru'];
$_SESSION['offset'] = 0;
}
else {
unset($_SESSION['Catalog']['Filtre']['Atribute'][$_REQUEST['Filtru']]);
}
}
else {
unset($_SESSION['Catalog']['Filtre']['Atribute'][$_REQUEST['Filtru']][-1 * (int) $_REQUEST['AtributID']]);
}
}
我的是这样的,但它给了我内爆函数的错误,它说Atribut是未定义的:
if (isset($_SESSION['Catalog']['Filtre']['Atribute']) && count($_SESSION['Catalog']['Filtre']['Atribute'])) {
foreach ($_SESSION['Catalog']['Filtre']['Atribute'] as $k => $v) {
if (count($v)) {
if (strlen($fstr))
$fstr .= ' AND ';
$vals = '(' . implode(',', $v) . ')';
$fstr .= " $k in $vals ";
}
}
有人能帮我吗?我不确定你想做什么,但在我看来,内爆应该以数组作为第二个参数;) 试试这个
if (isset($_SESSION['Catalog']['Filtre']['Atribute']) && count($_SESSION['Catalog']['Filtre']['Atribute'])) {
if (count($_SESSION['Catalog']['Filtre']['Atribute'])) {
if (strlen($fstr))
$fstr .= ' AND ';
$vals = '(' . implode(',', $_SESSION['Catalog']['Filtre']['Atribute']) . ')';
}
通过这种方式,您将传递到内爆$_会话['Catalog']['filter']['Atribute']中包含的Atribute数组。你不需要使用foreach