我在比较这两个字符串时遇到了麻烦,我不确定发生了什么,但是当值包含空格时,相等应该为真,它返回false,尽管它对于没有空格的字符串完美地工作。
我有一种鬼鬼祟祟的感觉,需要一些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;
更正在这里,谢谢ridgerrunner !
$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;
}
需要将OPTION
属性值用引号括起来。而不是:
$options .= "option value=";
使用:
$options .= "option value='"";
对结束引号做同样的事情。为了安全起见,您可能还需要将$value
中的任何双引号转换为"
。