php - 使用 PHP 从 MySql 数据库中预选多选

标签 php mysql jquery-ui

我有 2 个 Mysql 表(tbl_subjects 和 tbl_courses)。

tbl_subjects
id | subject_name |
1  | english      |
2  | maths        |
3  | Physics      |

tbl_courses
id | my_subjects |
1  | 1,3         |

多选列表的 html 和 php 代码

$sql_subjects = mysql_fetch_array(mysql_query("SELECT * FROM tbl_subjects WHERE id IN ( 1,3 )"));

<select name="subjects[]" multiple="multiple" size="7">
<?php
$sql = mysql_query("SELECT * FROM tbl_subjects");
while($row = mysql_fetch_array($sql ))
{
$id = $row['id'];
$subject_name = $row['subject_name '];
?>
<option value="<?php echo $id; ?>" <?php if($sql_subjects['id'] == $id) echo 'selected="selected"'; ?>> <?php echo $subject_name; ?></option>
<?php } ?>
</select>

正如您在上面的代码中看到的,应该有2 个预先选择的 值,但我只得到了第一个的结果。您也可以在图像中看到 enter image description here

最佳答案

$sql_subjects=array();    
while($row = mysql_fetch_array(mysql_query("SELECT * FROM tbl_subjects WHERE id IN ( 1,3 )"))){
    $sql_subjects[] = $row['id'];
}

在你的html部分

<option value="<?php echo $id; ?>" <?php if(in_array($id,$sql_subjects) echo 'selected="selected"'; ?>> <?php echo $subject_name; ?></option>

关于php - 使用 PHP 从 MySql 数据库中预选多选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12669422/

相关文章:

php - PHP 中的双向加密 - 需要一些指导

javascript - 如何在 AJAX 内容加载后重新附加 jQuery 函数?

mysql - 获取 10 个最新帖子

mysql - mysql中的正则表达式匹配前导0的数字

javascript - 关闭 jQuery UI 对话框的效果

jQuery UI Datepicker Inline - 单击提交表单

php - 在特定事件发生前 24 小时安排电子邮件通知?

php - 使用 MySQL 中的临时表

PHP pathinfo 被查询字符串中的 url 所迷惑,有什么解决方法吗?

php - 尝试在 Amazon AWS 上的 mySQL 数据库上使用 JSON_OBJECT 函数