【发布时间】:2012-03-07 20:38:36
【问题描述】:
在不应该出现的问题上碰壁。有一个 PHP 回显,其中包含两个连接,以填充表单中下拉菜单的选项值,选项值的数据是从 MySQL 数据库查询中提取的。效果很好,除了由于某种原因选项值将仅显示第一个单词,并且当它遇到值中的空格时,它会将其从选项值字段中删除并填充选项值之前的第二个、第三个单词。
代码如下:
<td width="160"><p> Job Location:</p><select class="listmedium" id="JobLocation" name="JobLocation"><option value='' selected="selected"></option>
<?php
$con = mysql_connect("Values Deleted");
if (!$con)
{die('Could not connect: ' . mysql_error());}
mysql_select_db ("database1", $con);
$result = mysql_query("SELECT CustomerLoc FROM customerloc ORDER BY CustomerLoc ASC");
while($row = mysql_fetch_array($result))
{echo "<option value=" . $row['CustomerLoc'] . ">" . $row['CustomerLoc'] ."</option>";}
mysql_close($con); ?>
</select>
输出为:
<td width="160">
<p> Job Location:</p>
<select id="JobLocation" class="listmedium" name="JobLocation">
<option selected="selected" value=""></option>
<option springs="" value="Carrizo">Carrizo Springs</option>
<option wells="" value="Artesia">Artesia Wells</option>
</select>
请注意,“springs”和“wells”位于期权价值引号之前,其中并置旨在放置整个价值,期权价值应为“Carrizo Springs”和“Artesia Wells”。
现在,如果我在值之间手动插入  ,整个值将显示为“Carrizo Springs”并且可以正常工作(但如果我不需要,我不想在每个值中插入  ),而且如果我手动编码 HTML 值以读取“Carrizo Springs”,然后它可以作为选项值正常工作,因此它似乎是 PHP 数据调用发生的事情。
我知道在选项值中使用文本代替整数并不理想,但这是有原因的,如果有人知道 PHP 为何会在其中显示输出,我将不胜感激。方式。
【问题讨论】:
-
好吧,你可以从正确引用你的 HTML 开始,因为数据中有空格:
{echo "<option value='" . $row['CustomerLoc'] . "'>" . $row['CustomerLoc'] ."</option>";} -
我不明白您发布的代码是如何产生该输出的,您确定您正在掠夺正确的代码\文件吗?