我无法比较这两个字符串,我不确定发生了什么,但是当值包含空格,并且相等应该为true时,它返回false,尽管它对没有空格的字符串完美无缺。 / p>
我有一种偷偷摸摸的感觉,需要为NBSP或其他东西做一些预备,但我完全迷失了该做什么......我指的那条线上会有星星。
function getRecords($column,$table){
$options = "";
if(isset($_POST['submit'])) {
$selected = $_POST[$column];
}
$query = "SELECT DISTINCT $column FROM $table ORDER BY $column ASC";
$result = mysql_query($query);
if(!$result) {
$options = "<option>Error Retrieving Records</option>\n";;
}
else {
while($row=mysql_fetch_assoc($result)) {
$value = $row[$column];
$options .= "<";
$options .= "option value=";
$options .= $value;
此处更正,谢谢ridgerunner!
$options .= "option value=\"";
$options .= $value."\"";
//define selected value if it exists
if(isset($selected)) {
*************** if($selected==$value) {
$options .= " selected";
}
$options .= "";
}
$options .= ">";
$options .= $value;
$options .= "</option>\n";
}
}
return $options;
}
答案 0 :(得分:2)
您需要将OPTION
属性值括在引号中。而不是:
$options .= "option value=";
使用:
$options .= "option value=\"";
用结束报价做同样的事情。为安全起见,您可能还希望将$value
中的任何双引号转换为"
。