php - 下拉菜单和 MySQl

标签 php mysql

我有一个从 mysql 动态填充的下拉列表 当我将信息保存到mysql时,它不保存下拉列表的值。 如何设置动态下拉列表的选定值 这是用于填充下拉列表的代码。 如何在 php 中设置更改时选定的值

echo "<option value=\"" . utf8_encode($row['school_name']) . "\">" . utf8_encode($row['school_name']) . "</option>";

我在使用此示例设置正确格式时遇到问题

<option value="My School"<?php if ($row[school_name] == 'My School') echo ' selected="selected"'; ?>>My School</option>

其中“我的学校”应该是从数据库填充的值

好的

   <select id="school_name" "name="school_name" style="width:200px;" name="school_name">
                        <option selected="">Select Province School</option>



                        </select>

然后我用以下内容填充下拉列表。

$sql="SELECT * FROM ppSD_schools where province_code ='".$_POST['c_id']."'";
$res = $conn->query($sql);
$num_rows = $res->num_rows;

if($num_rows > 0) {
    echo "<option value=''>------- Select --------</option>";

    while($row = $res->fetch_assoc())

    {
    ?>
        echo "<option value=\"" . utf8_encode($row['school_name']) . "\">" . utf8_encode($row['school_name']) . "</option>";





    }

但是当我选择另一所学校时。它不会将所选值保存到 MySql 我的猜测是它不会将值标记为已选择,因为它会动态填充 我现在必须更改代码,因此当我选择它时,它必须标记为已选择

最佳答案

我将使用重复函数将值与行值进行比较

<?php
    function selected($a, $b) {
        return ($a === $b) ? ' selected' : '';
    }
?>

<option name="school" value="My School" <?= selected($row["school_name"], "My School"); ?>>My School</option>

<option name="school" value="Your School" <?= selected($row["school_name"], "Your School"); ?>>Your School</option>

关于php - 下拉菜单和 MySQl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50554866/

相关文章:

php - 是否有可用的 PHP CQL 驱动程序/客户端

php - Parse.com PHP SDK 获取对象的用户关系

select语句中的MYSQL Case用于检查null

mysql - 将表多次连接到另一个可能具有或不具有这些值的表

java - 如何使用 mysql 解决 Spring Boot 应用程序上的 "Communications link failure"问题?

php - 为什么解释器没有给出第一个代码的错误

javascript - 将一个值指向另一个页面 jquery?

Javascript AJAX 请求函数不返回任何内容

php - 选择 MySQL 中某个记录的下一个出现位置

mysql - 单表 9 GB 数据库是好的设计吗?