【问题标题】:Missing prefilled checkbox values from my array (mysql/PHP)我的数组中缺少预填充的复选框值(mysql/PHP)
【发布时间】: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


【解决方案1】:

使用它来获取industry_idindustry 值的数组:

while ( $row = mysqli_fetch_array($result) ) {
  array_push($array, $row['industry_idindustry']);
}

【讨论】:

  • 我实际上做了这个,但输入/表单在括号内,所以谢谢谢谢谢谢。我快疯了。
猜你喜欢
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多