首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置PHP变量if条件

设置PHP变量if条件
EN

Stack Overflow用户
提问于 2019-04-12 18:49:47
回答 1查看 57关注 0票数 0

我正在创建一个函数,它必须检查几个输入,并创建一个变量,用于调用SQL查询,我面临的问题是,我想要更改一个变量,这样我就不会每次都使用SELECT调用,而是使用and调用。如何构造这样的函数?这就是我目前所拥有的。

代码语言:javascript
复制
if ($_GET['filtering2'] != "" || $_GET['filtering3'] != "" || $_GET['filtering4'] != "" || $_GET['filtering5'] != "" || $_GET['filtering6'] != "" || $_GET['filtering7'] != "" || $_GET['filtering7'] != "") {

    function searchByColumn($values, $columnName)
    {
        $string = implode(" OR season LIKE ", $values);
        if ($firstTime = 2) {

            return "SELECT * FROM shrubs2 WHERE season LIKE $string";

        } else {
            return " AND WHERE season LIKE $string";
        }
    }

    $colNames = array("season"); // can add here more column names
    foreach ($colNames as $colName) {
        $str .= searchByColumn($array_name, $colName);
        $firstTime = 3;
    }
}
if ($_GET['filtering8'] != "" || $_GET['filtering9'] != "" || $_GET['filtering10'] != "" || $_GET['filtering11'] != "") {

    function searchByColumn2($values, $columnName2)
    {
        $string2 = implode(" OR 日照 LIKE ", $values);
        if ($firstTime = 2) {
            return "SELECT * FROM shrubs2 WHERE 日照 LIKE $string2";

        } else {
            return " AND WHERE 日照 LIKE $string2";
        }
    }

    $colNames2 = array("日照"); // can add here more column names
    foreach ($colNames2 as $colName2) {
        $str .= searchByColumn2($array_name2, $colName2);
        $firstTime = 3;
    }

}

我试图更改变量$firstTime,但结果并不像我希望的那样。

第一次编辑:

代码语言:javascript
复制
if($_GET['filtering8'] != "" || $_GET['filtering9'] != "" || $_GET['filtering10'] != "" || $_GET['filtering11'] != "" ){

function searchByColumn2($values, $columnName2) {
  $string2 = implode(" OR 日照 LIKE ", $values);
  if($firstTime != 3){
  return "SELECT * FROM shrubs2 WHERE 日照 LIKE $string2";
  $firstTime = 3;
} else{
  return " AND WHERE 日照 LIKE $string2";
}
}


$colNames2 = array("日照"); // can add here more column names
foreach($colNames2 as $colName2) {
$str .= searchByColumn2($array_name2, $colName2);

}

}

当然,我还添加了:全局$firstTime;

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-12 18:56:53

由于该变量是全局变量,因此您需要通过添加

代码语言:javascript
复制
global $firstTime;

searchByColumnsearchByColumn2函数的第一行。它将引用全局变量$firstTime

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55649964

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档