【问题标题】:Dropdown box in php getting partial values from mysqli databasephp中的下拉框从mysqli数据库中获取部分值
【发布时间】:2014-10-27 12:57:59
【问题描述】:

当我尝试列出数据库中的所有员工姓名以在下拉框中为特定人员分配工作时。输出值仅显示员工的首字母或名字。员工的其他姓名(姓氏)未发布在 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 总是忽略复选框值中文本后的空格。

【问题讨论】:

  • 你在说什么checkbox values?您的问题没有复选框。也没有使用$ArtistName。仅供参考:&lt;select&gt; 标签上没有value=''

标签: php mysql checkbox mysqli space


【解决方案1】:

您的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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    相关资源
    最近更新 更多