如果保存在数据库中,我正在处理显示已选中的复选框。
$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都可以。感谢
答案 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>";
}
?>
这应该为你做的工作