php - 根据数据库中的值选中复选框

标签 php mysql

我有一个从数据库获取“分支”的代码。每个公司可以有多个“分支机构”。

唯一的问题是,那是行不通的。你们能弄清楚出了什么问题吗?

$getbranches = "SELECT * FROM branches ORDER BY naam ASC";
$querygetbranches = mysql_query($getbranches);

while($rijbranche = mysql_fetch_assoc($querygetbranches))
{
    echo "<tr>";
    echo "<td width='400'>";
    echo $rijbranche['naam'];
    echo "</td>";
    echo "<td>";
    $get2 = "SELECT * FROM bedrijf_branche WHERE bedrijf_id = '$id'";
    $query2 = mysql_query($get2);
    while ($rij20 = mysql_fetch_assoc($query2))
    {
        $branche_id = $rij20['branche_id'];
    }
    if($branche_id == $rijbranche['id_branche']){
        ?>
        <input type="checkbox" name="branche[]" value="<?php echo $rijbranche['id_branche']; ?>" CHECKED></input>
        <?php
    }
    else
    {
        ?>
        <input type="checkbox" name="branche[]" value="<?php echo $rijbranche['id_branche']; ?>"></input>
        <?php
    }
    echo "</td>";
}

最佳答案

尝试以下代码

<?php

$id = $_GET['id'];

// Output BRANCHES
$getbranches = "SELECT * FROM branches ORDER BY naam ASC";
$querygetbranches = mysql_query($getbranches);

while ($rijbranche = mysql_fetch_array($querygetbranches)) {
  echo '  <tr>' . "\n";
  echo '    <td width="400">' . $rijbranche['naam'] . '</td>' . "\n";

  // Output CHECKBOX
  $get2 = mysql_query("SELECT * FROM bedrijf_branche WHERE bedrijf_id = '" . $id . "' AND branche_id = '" . $rijbranche['id_branche'] . "'");
  $rij20 = mysql_fetch_array($get2);
  $branche_id = $rij20['branche_id'];

  if ($branche_id == $rijbranche['id_branche']) {
    $checkbox = '<input type="checkbox" name="branche[]" value="' . $rijbranche['id_branche'] . '" checked="checked" />';
  }
  else {
    $checkbox = '<input type="checkbox" name="branche[]" value="' . $rijbranche['id_branche'] . '" />';
  }

  echo '    <td>' . $checkbox . '</td>' . "\n";
  echo '  </tr>' . "\n";
}

?>

发现我在上面的代码中修复了几个错误。

  1. 您正在关闭 <input>字段不正确
  2. 你的第二个while()循环是不必要的,因为应该只返回一行
  3. 您必须添加branche_id到你的第二个 mysql_query!
  4. 不要关闭并重新打开您的 <?php ?>当您只需添加 echo 时,为每个 HTML 行添加标签

关于php - 根据数据库中的值选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9300889/

相关文章:

php - 如何获取json数组并插入数据库。 php

php - 为什么 mysqli_connect 不能工作而 mysql_connect 可以?

php - 将支付宝实现到 OpenCart

mysql - 计算 SQL 中计数相对于类别的百分比

php - Laravel Blade : syntax error, 意外 'endif' (T_ENDIF)

php - 为什么 base64_encode() 在结果中添加斜杠 "/"?

php - 准备好的语句 : Fetch as array

php - MySqli 查询多维数组

mySQL:查询按世纪分组的与时间相关的行?

php - 混合数据库中两个表的数据