首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带标志的搜索函数

问带标志的搜索函数
EN

Stack Overflow用户
提问于 2016-09-18 04:28:12
回答 1查看 82关注 0票数 1

我正在尝试实现一个快速搜索栏,以搜索由SQL数据库填充的表。搜索将不搜索表,但将生成SQL语句并搜索数据库。我需要使用PHP实现一个搜索函数,它将使用标志来停止搜索。到目前为止,这是我的代码:

代码语言:javascript
复制
//THIS CODE WILL EXECUTE WHEN THE SEARCH BUTTON IS PRESSED
if($_REQUEST['btnsearch']){

    if(isset($_POST['quicksearch']) and !empty($quicksearch)){

        $sql = "SELECT column_name FROM information_schema.columns WHERE table_name ='alerts_table'
        AND column_name IN('name', 'year','make','model','alert','date')";

        $retvalues = mysqli_query($conn, $sql);
        $data = array();
        //LOOP POPULATES THE ARRAY WITH THE CURRENT COLUMN NAMES.
        for($counter = 0; $counter <= $row=mysqli_fetch_array($retvalues, MYSQL_ASSOC); $counter++){

            $string = $row["column_name"];

            $data[$counter] = $string;
        }

        $length = count($data);

        $flag = 1;

        while($flag == 1){

            for($x = 0; $x <= $length - 1; $x++){

                $sql3="SELECT * FROM alerts_table WHERE $data[$x] = $quicksearch";
                $retvalues2=mysqli_query($conn, $sql3);

                if(!empty($retvalues2))
                {
                    //POPULATE THE TABLE WITH RESULTS HERE !!!!!!!!!

                    $flag = -1; ///HOW CAN I BREAK THE LOOP???

                }
            }
        }
    }else{
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-18 05:25:53

来自PHP文档:

(PHP 4,PHP 5,PHP 7) 中断结束当前的执行,同时或切换结构. break接受一个可选的数值参数,该参数告诉它要分离多少嵌套的封闭结构。默认值为1,只有直接包围结构被打破。

在您的例子中,您有两个循环:一个while循环和一个内部for循环。可以将内环中的标志设置为将停止while循环的值,然后使用break停止for循环。

代码语言:javascript
复制
$flag = 1;

while($flag == 1){
    for($x = 0; $x <= $length - 1; $x++){
        // ...
        if(!empty($retvalues2))
        {
            $flag = -1; // set while condition to false
            break; // break out of for loop
        }
    }

    // execution continues here after break
    // end of while body, start next loop iteration
    // $flag == 1 => false, and the while loop will end
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39554103

复制
相关文章

相似问题

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