如果值保存在数据库中,则显示选中复选框

时间:2015-12-04 02:17:08

标签: javascript php checkbox

如果保存在数据库中,我正在处理显示已选中的复选框。

$stmt = $db->prepare('Select * from productsizes a, sizestops b WHERE 
a.productinformationID = :prodID AND a.sizeID = b.sizestopsID ');

    $stmt->bindParam(':prodID', $productID, PDO::PARAM_INT);
    $stmt->execute();

    $couunterer = $stmt->rowCount();
    $y= 1;
    while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {   

    if($y != $couunterer)
    {
    echo  $sizes5 = $row['sizetopsName']." ";  
    }
    elseif($y == $couunterer)
    {
    echo $sizes5 = $row['sizetopsName']." ";  
    }

    $y++;
    } 

显示我保存的尺寸,例如XSMALL和LARGE

这是我的代码,用于显示其他表格中的所有复选框

$statement = $db->prepare("SELECT * FROM sizestops order by sizestopsID ASC");
$statement->execute();

while($rows2 = $statement->fetch(PDO::FETCH_ASSOC)) {

echo "
<label style=' display:inline-block;
    width:150px;
    height:50px;
    margin:-1px 4px 0 0;
    vertical-align:middle;'>

<input type='checkbox' name='sizes[]' class='checkbox' id='sizesprod' onchange='checksize()' value='" .$rows2['sizestopsID']. "'". $pre_checked.">".$rows2['sizetopsName']."
</label>";

}

显示

中的所有尺寸
XSMALL, SMALL, MEDIUM, LARGE, XLARGE, XXLARGE, FREES SIZE

现在我想只显示复选框XSMALL和LARGE,其余部分未选中。我怎样才能做到这一点? 希望任何人都能帮助我,谢谢!

PHP和Javascript都可以。感谢

1 个答案:

答案 0 :(得分:0)

不知道你的tables structure编写查询有点困难,但通常你可以编写一个查询并join这两个表,然后检查第二个表中的字段是否不是为空,则表示第二个表中有对应记录,因此您必须检查checkbox,否则如果为空,则不应检查checkbox ...

查询将是这样的:

SELECT sizestops.sizestopsID, sizetopsName.sizestops, productsizes.productinformationID
FROM sizestops
LEFT JOIN productsizes
ON sizestops.sizestopsID = productsizes.sizeID 
ORDER BY sizestops.sizestopsID ASC

现在在你的循环中你可以检查productinformationID是否为空或者不是这样的:

<?php
while($rows2 = $statement->fetch(PDO::FETCH_ASSOC)) {
    $pre_checked = empty($row2['productinformationID']) ? '' : ' checked';

    echo "
    <label style=' display:inline-block;
            width:150px;
            height:50px;
            margin:-1px 4px 0 0;
            vertical-align:middle;'>

    <input type='checkbox' name='sizes[]' class='checkbox' id='sizesprod' onchange='checksize()' value='".$rows2['sizestopsID']. "'". $pre_checked.">".$rows2['sizetopsName']."
    </label>";
}
?>

这应该为你做的工作