应该是一个非问题的障碍。在其中包含两个连接的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>
请注意,“弹簧”和“井”将自己置于选项值引号之前,其中汇总用于放置整个值,选项值应为“Carrizo Springs”和“Artesia Wells”。
现在,如果我在值之间手动插入&amp; nbsp,则整个值显示为“Carrizo&amp; nbspSprings”并且有效(但如果我没有,我不想在每个值中插入&amp; nbsp)如果我手动将HTML值编码为“Carrizo Springs”,那么它可以作为选项值正常工作,因此它似乎是PHP数据调用所发生的事情。
我知道在选项值中使用文本代替整数是不理想的,但是它背后有一个原因,如果有人知道为什么PHP会在那里显示输出,我将不胜感激。方式。
答案 0 :(得分:0)
问题是这一行:
"<option value=" . $row['CustomerLoc'] . ">"
它变成<option value=Carrizo Springs >
所以它就像值= Carrizo,解决这个问题只是改变了这个:
"<option value=\"" . $row['CustomerLoc'] . "\">"