【发布时间】:2014-08-04 23:28:30
【问题描述】:
我正在提取包含 3 行数据的列(在我当前的测试中)的数据。如果用户之前选择了行业,我的目标是预先填写表单的复选框。目前,它只检查第一个结果,但不显示其他 2 个。我尝试使用 while 循环,但在这些情况下,如果我的数据中有 3 行,表单会显示所有复选框 3 次。我尝试了多种方法,但没有任何效果,我确信这是一个简单的修复,但看不到它。
当我直接在数据库中执行 mysql 命令时,会给我这些结果(对于这个例子):
industry_idindustry
- 5
- 6
- 7
你能帮帮我吗?
PHP 代码:
// Create connection and pull the data from
$dbc = mysqli_connect('localhost', 'root', 'root', 'profile') or die('Error connecting to MySQL server.');
$id = $_REQUEST['id'];
$query = "SELECT industry_idindustry FROM `industry_has_member` WHERE member_idmember = $id";
$result = mysqli_query($dbc,$query) or die(mysqli_error($dbc));
echo '<tr><td width="30%">Industries: </td><td>';
$array = mysqli_fetch_array($result);
while ( $row = mysqli_fetch_array($result) ) {
array_push($array, $row['industry_idindustry']);
}
?>
<input type="checkbox" name="industries[]" value="1" <?php if(in_array('1',$array)){echo ' checked="checked"';}?>>None</br>
<input type="checkbox" name="industries[]" value="2" <?php if(in_array('2',$array)){echo ' checked="checked"';}?>>Film</br>
<input type="checkbox" name="industries[]" value="3" <?php if(in_array('3',$array)){echo ' checked="checked"';}?>>Television</br>
<input type="checkbox" name="industries[]" value="4" <?php if(in_array('4',$array)){echo ' checked="checked"';}?>>Music</br>
<input type="checkbox" name="industries[]" value="5" <?php if(in_array('5',$array)){echo ' checked="checked"';}?>>Gaming</br>
<input type="checkbox" name="industries[]" value="6" <?php if(in_array('6',$array)){echo ' checked="checked"';}?> >Books</br>
<input type="checkbox" name="industries[]" value="7" <?php if(in_array('7',$array)){echo ' checked="checked"';}?> >Comic Books</br>
【问题讨论】:
-
现在更改您的密码
-
编程比产品管理更复杂。例如,一个人不能不检查他们的先决条件。比如说,产品经理可以假设 $array 包含所有必需的值,并继续运行项目没有问题。编程是另一回事。你必须真正知道 $array 是什么以及它包含什么数据。
-
@Strawberry 加油,谁需要来自开发人员 PC 的 localhost 密码才能用于测试数据库?
-
你们能建议一些代码来帮助我理解我所缺少的吗?我查看了有关 stackexchange 和书籍的几个问答,并尝试了几件事。
-
您只需查看 mysqli_fetch_array 函数的手册页,了解该函数实际执行的操作、返回的内容以及如何使用它来获取所需的数据
标签: php mysql forms checkbox mysqli