>백엔드 개발 >PHP 튜토리얼 >自学的小问题,帮忙看看

自学的小问题,帮忙看看

WBOY
WBOY원래의
2016-06-23 13:37:51911검색

为什么有数据 checkbox 无法选中呢?哪里的问题 高手帮忙看看






<?phpmysql_connect('localhost','root','root');mysql_select_db('ceshi');mysql_query('set names utf8');$sql="select * from test where username='小丁'";$result=mysql_query($sql);$row=mysql_fetch_assoc($result);$a=$row['love'];$arr=explode('|', $a);$ah=array('打麻将','看电影','英雄联盟','睡觉');?>用户名:<input type="text" name="username" value="<?php echo $row['username'] ?>"/><br>爱好:<?php          for ($i=0;$i<count($ah);$i++):            $sled='';            if(in_array($ah[i],$arr)){                    $sled='checked';            }    ?>    <input type="checkbox" <?php echo $sled ?>><?php echo $ah[$i] ?>    <?php    endfor;    ?>


回复讨论(解决方案)

先看生成的html是否正确

F12   看看你的页面里生成的html是啥样的! 往往是你觉得自己写的对,但是就是有错误!

F12   看看你的页面里生成的html是啥样的! 往往是你觉得自己写的对,但是就是有错误!



先看生成的html是否正确



var_dump($arr);

看看是什么

看HTML貌似没得问题,是不是还要加其他的属性

var_dump($arr);

看看是什么



array(3) { [0]=> string(9) "打麻将" [1]=> string(9) "看电影" [2]=> string(6) "睡觉" }

在判断之前要设置
  $sled=''; 
变量名为空才对

那 var_dump($ah); 又看到的是什么?

那 var_dump($ah); 又看到的是什么?



array(4) { [0]=> string(9) "打麻将" [1]=> string(9) "看电影" [2]=> string(12) "英雄联盟" [3]=> string(6) "睡觉" } 

在判断之前要设置
  $sled=''; 
变量名为空才对



是空的呀 还不是没用

if(in_array($ah[i],$arr)){

if(in_array($ah[ $i],$arr)){

原来是这个问题!
if(in_array($ah[ i],$arr)){
少了 $
应为
if(in_array($ah[ $i],$arr)){

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.