【问题标题】:Comparing array values with mysqli result将数组值与 mysqli 结果进行比较
【发布时间】:2018-01-24 02:25:14
【问题描述】:

有人可以帮我解决这个问题吗?

下面的代码是我在编辑页面中使用的,我想比较复选框的值,如果匹配,则将其设置为选中状态。

我的两个数组值的示例

$CategoryDetails : Array ( [0] => 6 [1] => 1 )
$Category_data : Array ( [0] => 1 [1] => 3 [2] => 6 [3] => 2 [4] => 4 [5] => 7)

$Category_data 用于创建复选框,$CategoryDetails 是选定值。所以按照上面的例子,例如复选框 1 和 3 应该被选中,但下面的代码只给了我一个选中的即。复选框3

我需要将 array1 的每个值与 array2 进行比较。

<?php
    $CategoryDetails = isset($category_list) ? $category_list : ' ';
    $Category = dbSelectByWhere("Highlight_categories", "WHERE Highlight_cat_status=1", "Order By Highlight_Category_name");
    $k = 0;
    while ($Category_data = dbFetchArray($Category)) {
        ?>
        <input type="checkbox" name="category[]" id="Category" value="<?php echo $Category_data['Highlight_category_id']; ?>" data-parsley-mincheck="1" required class="flat" <?php
        if (isset($CategoryDetails) && ($CategoryDetails[$k] == $Category_data['Highlight_category_id'])) {
            echo 'checked';
            if ($k < (count($CategoryDetails) - 1)) {
                $k++;
            }
        }
        ?>/> <?php echo $Category_data['Highlight_Category_name']; ?>
    <?php } ?>

【问题讨论】:

    标签: php arrays checkbox mysqli


    【解决方案1】:

    第一个:你需要使用in_array函数。

    第二个: in_array 函数在数组中搜索特定值。如果值存在,它将返回 true,否则返回 false。

    第三个:如果为空,则将变量声明为数组

    $CategoryDetails = isset($category_list) ? $category_list : array();
    

    PHP:

    while ($Category_data = dbFetchArray($Category)) {
            ?>
            <input type="checkbox" name="category[]" id="Category" value="<?php echo $Category_data['Highlight_category_id']; ?>" data-parsley-mincheck="1" required class="flat" <?php
            if (isset($CategoryDetails) && in_array($Category_data['Highlight_category_id'],$CategoryDetails)) {
                echo 'checked';
            }
            ?>/> <?php echo $Category_data['Highlight_Category_name']; ?>
            <?php } ?>
    

    【讨论】:

    • 觉得应该是$CategoryDetails = isset($category_list) ? $category_list : array();
    • 很高兴它帮助你:) @Resmi'zz
    猜你喜欢
    • 2013-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-23
    • 2013-06-04
    相关资源
    最近更新 更多