【问题标题】:Sticky select box with while loop带有 while 循环的粘性选择框
【发布时间】:2016-08-12 08:12:18
【问题描述】:

我似乎无法做到这一点。我正在尝试制作一个从数据库中获取值的选择框,请参阅下面的代码:

<select name="cob_bank">
   <?php while($row = mysqli_fetch_array($query,MYSQLI_ASSOC)){ 
        if($row['Id']==$myId)  {
            echo '<option value="'.$row['Id'].'"selected="selected">'.$row['Name'].'</option>';
        } else {
            echo '<option value="'.$row['Id'].'">'.$row['Name'].'</option>';
        }
    }?>
</select>

在选择框被填写并按下提交按钮后,我保存了我的 Post 变量

$myId = $_POST['cob_name'];

上面的代码不起作用,请帮忙

【问题讨论】:

  • 您没有在这里向我们展示完整的代码..您是否创建了带有名称属性的表单标签?它应该在 post 方法中。确保您的选择框具有与您指定的 cob_name 相同的名称的名称属性。
  • 请正确格式化您的代码,“不起作用”非常广泛
  • 并尝试 print_r($_REQUEST);
  • 所有代码 HTML 都很好,它可以正确返回值,只是一旦我从第一个条目而不是我选择的值提交选择框后,选择框就不会粘住
  • 请张贴您的select标签代码

标签: php webforms


【解决方案1】:

在选择之前没有空格可能会导致问题为空格

if($row['Id']==$myId)  {
        echo '<option value="'.$row['Id'].'" selected="selected">'.$row['Name'].'</option>';
    }

选择名称应设置为:

<select name='cob_name'>

【讨论】:

  • 我试过了,空间还是一样,选择框还是不粘
  • 您是否尝试过将 $myId 添加到您的选项中,以便验证它是否包含您认为的功能?
  • 设置了 $myid 行['id'] 与 if 子句中的 $myid 进行比较
  • 是的,但它不工作所以你确定它包含一个匹配的 id 你可以将它添加到选择选项中以暂时查看它'.$row['Name']。' - '.$myId.'我怀疑它与任何 ID 都不匹配
  • 变量链接到ID而不是名称是它背后的if语句逻辑正确吗?
猜你喜欢
  • 2017-12-09
  • 2017-09-25
  • 2018-07-14
  • 1970-01-01
  • 2021-12-28
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 2012-08-20
相关资源
最近更新 更多