php - 使用数组仅将选定的值传递给函数

标签 php mysql arrays

我有一个函数,它接受一个我想要分解的数组并传递到 where 条件。 我的功能

<?php
function somearray($value = array())
{
    $conditions = "";
    foreach($value as $key => $condition)
    {
        $conditions .= "$key=$condition && ";
    }
    $conditions = substr($conditions, 0, -4);
    $qry = mysql_query("SELECT * FROM maincase WHERE $conditions");
    while($arr = mysql_fetch_array($qry))
    {
        echo 'Ticket Number= '.$arr['ticket_number'].'<br />';
    }
}

?>

我想通过表单发送值,但仅限选定的复选框

<?php 
        if(isset($_GET['filter']))
        {
            $list = array(
                "region" => $_GET['region'],
                "status" => $_GET['status']
            );
            somearray($list);
        }
    ?>

    <form action="" class="form-inline" method="get">
        <label for="">Region</label>
        <input type="checkbox" name="region" <?php if(isset($_GET['region'])) { echo 'checked' ;} ?> value="1">

        <label for="">Status</label>
        <input type="checkbox" name="status" <?php if(isset($_GET['status'])) { echo 'checked' ;} ?> value="3">

        <input type="submit" value="filter" name="filter">
    </form>

这段代码有效。但我必须过滤 7 到 8 个字段。我只想在选中该复选框时发送值。

最佳答案

在函数中传递值应该像这样:

function somearray($value)
{
    $conditions = "";
    foreach($value as $key => $condition)
    {
        $conditions .= "$key=$condition && ";
    }
    $conditions = substr($conditions, 0, -4);
    $qry = mysql_query("SELECT * FROM maincase WHERE $conditions");
    while($arr = mysql_fetch_array($qry))
    {
        echo 'Ticket Number= '.$arr['ticket_number'].'<br />';
    }
}
?>

在您的情况下,参数被初始化为默认数组或空数组,其中您传递一个带有值的数组。

参见引用:

关于php - 使用数组仅将选定的值传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17943111/

相关文章:

javascript - 从平面数组创建嵌套对象

javascript - 通过 AJAX 将值从 JavaScript 发送到 PHP,无需 jQuery

php - 描述框中为 "&"时提交表单时出现问题

mysql - 如果数字为十进制,sql 查询不起作用

mysql - 在Mysql中查找字符串值中的最大值

java - 输出数组中顺序错误的对数?

php - 使用 php sdk 2.0.4 for Quickbooks online API v3 无法解析具有 LineEx 的付款

javascript - 检测到用户时区后重新加载页面。会有SEO惩罚吗?

php - MySQL 日期时间与 session 中设置的日期时间。哪一个先出现?

javascript - 如何在 JavaScript 中使用数组查找函数返回对象