2016-05-13 170 views
-1

我想编辑复选框值使用多个while while循环但我得到重复的值。如何阻止这种重复?下面是代码:如何避免重复在PHP循环

<tr> 
<?php 
$qqqq = mysql_query("select * from tbl_color "); 
while($rr = mysql_fetch_array($qqqq)) { 
    $dara = $rr['color']; 
    $ids = $rr['id']; 
    $datas = mysql_query("select * from ifix_model_tbl where id='".$g_select_id."'"); 
    while($rw = mysql_fetch_array($datas)) { 
     $fg = $rw['color']; 
     $ecolor = unserialize($fg); 
     foreach($ecolor as $ucolor) { 
      echo $ucolor = $ucolor['id']; 
      ?>    
      <td width="130"> 
       <input style="padding-top:100px" name="colo[]" type="checkbox" value="<?php echo $ids?>" 
        <?php if($ucolor == $ids){ echo 'checked="checked"'; } ?> 
       /> 
       <?php echo $dara;?> 
      </td> 
      <?php 
     } 
    } 
} 
?> 
</tr> 

现在我得到的结果是这样的:

我需要的结果是这样的:

+3

**警告**:如果您只是学习PHP,请不要使用['mysql_query'](http://php.net/manual/en/function.mysql-query.php)接口。这是非常可怕和危险的,它在PHP 7中被删除了。[PDO的替代品并不难学](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /)以及[PHP The Right Way](http://www.phptherightway.com/)等指南介绍了最佳实践。你的用户参数是**不是** [正确转义](http://bobby-tables.com/php),并且有[SQL注入漏洞](http://bobby-tables.com/)可以被利用。 – tadman

+0

不,但我相信如果你已经掌握了这些,你完全有能力做到这一点。 PDO实际上比'mysql_query'更容易使用。按照那里的链接。该教程需要二十分钟的时间才能阅读,并且不需要太长的时间来实施。 – tadman

回答

1

使用DISTINCT运营商MySQL:

$qqqq = mysql_query(" SELECT DISTINCT id, color FROM tbl_color "); 

注:

1)不使用mysql_ *他们已被弃用。使用mysqli_*PDO

2)尝试使用SELECT声明中的列名称而不是使用SELECT *。这将有助于提高查询的性能。

+0

sry其不工作循环仍然重复.. – Twinxz

+0

@ user5533614,请检查更新后的查询,并相应地尝试。 – Suyog

+0

请帮我解决这个问题。 – Twinxz