php - php中的下拉框从mysqli数据库获取部分值

标签 php mysql checkbox mysqli space

当我尝试列出数据库中的所有员工姓名以在下拉框中为特定人员分配工作时。输出值仅显示员工的首字母或名字。员工的其他姓名(姓氏)未发布在 php 中。

实际上第一个空格后面的名称丢失了。

这是我的代码...

<pre>
<tr>
<td><label>Assigning To</label></td><td><label>:</label></td>
<td>
<?php
 $result = mysqli_query($conn, "SELECT * FROM userdetails WHERE UserGroup='DigitizationArtist' || UserGroup='DigitizationArtistQC' || UserGroup='GraphicArtist' || UserGroup='GraphicArtistQC')");
 echo "<select name='ArtistName' value=''>";
 echo "<option value=''></option>";
 while($r = mysqli_fetch_array($result))
 {
 echo "<option value=" .$r['Name'] .">".$r['Name']. "</option>"; 
 }
 echo "</select>";
?>
</td>
</tr>
<pre>

这是获取值的 php 代码...

 $ArtistName = mysqli_real_escape_string($conn, $_POST['ArtistName']);

我要出局了,因为“S Gowri Shankar”是“S” 我要出局了,因为“Selva Kumar”是“Selva”

请指教。这些编码有什么问题?否则,php 总是忽略复选框值中文本后面的空格。

最佳答案

您的 value 属性缺少结束引号:

echo "<option value=" .$r['Name'] .">".$r['Name']. "</option>";

应该是:

echo "<option value='" .$r['Name'] ."'>".$r['Name']. "</option>";
                    ^                ^

并且还对那些带引号的值使用 htmlspecialchars ,这样它们就不会弄乱属性的结束:

$ArtistName = mysqli_real_escape_string($conn, $_POST['ArtistName']);
$ArtistName = htmlspecialchars($ArtistName, ENT_QUOTES);

关于php - php中的下拉框从mysqli数据库获取部分值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25637308/

相关文章:

php - MYSQL语法错误

javascript - 将选中的表行添加到电子邮件正文

php - 用 PHP 删除 __MACOSX 文件夹?

php - 从 MySql 到 PostgreSql

php - MySQLi 如果值不存在则插入

sql - 安装脚本MySQL语法错误 "You have an error in your SQL syntax; [...] "

javascript - 为什么单选按钮或复选框按钮数组上的 element.type 返回 "undefined"

javascript - 为什么复选框的状态没有改变?

php - 对用户 PC、PHP 或 JS 进行基准测试的最佳方法是什么?

php - 如何在整个数据库中搜索数据