2015-12-04 55 views
0

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

$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和大

保存的大小,这是我的代码,以其他表

$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而其余的不是chec糟透了。我怎样才能做到这一点? 希望任何人都可以帮助我,谢谢!

PHP和Javascript会做。由于

回答

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>"; 
} 
?> 

这应该做的工作适合你

+0

只显示2种尺寸被保存在数据库,是XSMALL和大其他复选框没有出现。另一个应该显示太没有签入复选框。 – user5598179

+0

您是否使用过我发布或更改过的确切查询? – EhsanT

+0

我完全使用它,我改变了它 – user5598179

相关问题