我有一个由PHP填充的HTML下拉列表,如下所示:
<form name="selectOccupation" method="post" action="specific_occupation.php">
<div align="centre">
<select name="occupation_dropdown" id="occupation_dropdown">
<?php
include "connection.php";
$sql = mysql_query("SELECT DISTINCT Occupation from patient_info");
while ($row = mysql_fetch_array($sql)) {
echo "<option value=".$row['Occupation'].">".$row['Occupation']."</option>";
}
?>
</select>
</div>
<br>
<br>
<input type="submit" name="submit" value="Proceed"/>
</form>
在specific_occupation.php文件中,我有以下代码:
<?php
include "connection.php";
$selectedoccupation = $_POST['occupation_dropdown'];
echo $selectedoccupation;
$myquery = "SELECT patient_info.Name, test_info.DateOfTest FROM `patient_info`,`test_info` WHERE patient_info.PatientID = test_info.PatientID AND patient_info.Occupation = '$selectedoccupation' ";
$query = mysql_query($myquery);
if ( ! $query ) {
echo mysql_error();
die;
}
$data = array();
for ($x = 0; $x < mysql_num_rows($query); $x++) {
$data[] = mysql_fetch_assoc($query);
}
$tempdata = json_encode($data);
?>
如果他们之间没有任何空白的职业,例如&#34; carpenter&#34;从下拉菜单中选择,但不适用于&#34;销售人员&#34;。如何将$ _POST用于具有空格的职业?
提前致谢!!
答案 0 :(得分:4)
您构建的HTML错误。你得到它:
<option value=Sales Person>
^^^^^---what will get sent as the value
^^^^^^---some wonky unknown/non-standard attribute
这是不正确的。 HTML现在要求引用所有属性:
<option value="Sales Person">
即使不需要引号,您仍然必须使用引号来处理这样的“间隔”数据。
答案 1 :(得分:-2)
PHP post用空格替换某些字符,例如-
。
您可以在PHP脚本中尝试urlencode($var)
。