Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的HTML下拉值工作不正常_Php - Fatal编程技术网

php中的HTML下拉值工作不正常

php中的HTML下拉值工作不正常,php,Php,我试图通过PHP动态显示MySQL中给定的下拉值。选项正确显示,但当选择一个值并提交表单时,有两个带空格的单词的值仅保存第一个单词,而不保存整个单词 例如: 选择车辆: 下拉列表从MySQL中获取了以下内容: Volvo XC90 Saab 95 Mercedes SLK Audi TT 当我选择Volvo XC90并提交表单时,数据将保存到DB,其值仅为Volvo我不选择XC90 不知道为什么它不占用空白 从数据库中动态提取数据的PHP代码: <select name="user_zo

我试图通过PHP动态显示MySQL中给定的下拉值。选项正确显示,但当选择一个值并提交表单时,有两个带空格的单词的值仅保存第一个单词,而不保存整个单词

例如:

选择车辆:

下拉列表从MySQL中获取了以下内容:

Volvo XC90
Saab 95
Mercedes SLK
Audi TT
当我选择Volvo XC90并提交表单时,数据将保存到DB,其值仅为Volvo我不选择XC90

不知道为什么它不占用空白

从数据库中动态提取数据的PHP代码:

<select name="user_zone" class="form-control "> 
<?php   
    $zone_query = "SELECT * FROM zone_details ORDER BY zone ASC;";
    $zoneresult = mysqli_query($bd,$zone_query);
    while($r = mysqli_fetch_assoc($zoneresult))                                                                              
    { 
      if ($user_zone == $r['zone']) 
      {
        $selected = 'selected="selected"';
      } 
      else {
            $selected = '';
         }
     echo "<option ".$selected." value=".$r['zone'].">".$r['zone']."</option>";                                                                          }
?>
</select>

您的问题是您没有将选项的
属性括在引号中,因此它将第一个单词作为值,并假设另一部分是另一个属性。请尝试以下方法:

echo "<option $selected value=\"{$r['zone']}\">{$r['zone']}</option>";      
echo“{$r['zone']}”;

非常感谢您@SanjanaNair不用担心-我很高兴能帮上忙。