我的最后一个问题不是很好,所以很抱歉“打开”新的问题。

重要数据:

表格1


编号:1
id:2
id:3


表2


编号:1
id:3


Query1(id结果):


1,2,3


Query2(id结果):


1,3


因此,如果每次我获取这2个表(带有正确的c查询)并且table1上存在来自table2的一些ID,则我有一个复选框需要更改为“选中”。

我这样做是这样的:

<?php
while($row = mysql_fetch_array($Query1))
{
while($row2 = mysql_fetch_array($Query2))
{
$checkit = '';
if($row['id'] == $row2['id'] )
$checkit = 'checked="checked"';
}
?>
<input type="checkbox" name = "checkbox-1" class="checkbox" value ="" <?php echo $checkit ?> />
<?php
}
}
?>


问题:当1 = 1时,我只能对第一个结果进行“检查”。

那只取一次。我需要结果应该像这样(id):11-13 | 21-23 | 31-33和选中的复选框仅在11和33时出现

希望您能理解。

最佳答案

你有用

$checkit = 'checked="yes"';


应该

 $checkit = 'checked="checked"';


尝试这个: -

<?php

    $arr_one = '';
    while($row = mysql_fetch_array($Query1))
    {

        $arr_one[]= $row['id'];

    }


    while($row2 = mysql_fetch_array($Query2))
    {
            $checkit = '';

            $id = $row2['id'];
            if (in_array($id,$arr_one))
            {
                $checkit = 'checked="checked"';
            }



    ?>
            <input type="checkbox" name= "checkbox-1" class="checkbox" value ="" <?php echo $checkit ?> />
    <?php
        }

    ?>

关于php - 更改复选框以使用mysql和php进行检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11781988/

10-09 20:22
查看更多