Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试传递包含空格的选项值时出现问题_Php_Jquery_Mysql - Fatal编程技术网

Php 尝试传递包含空格的选项值时出现问题

Php 尝试传递包含空格的选项值时出现问题,php,jquery,mysql,Php,Jquery,Mysql,我可能把事情弄得更复杂了,希望你们能帮我理清思路 在我的数据库中,我有一个带有枚举字段的表,其中大多数值都包含空格。目前,我正在尝试使用组合选择,这样每当有人在select one中选择包含所有枚举值的内容时(php从数据库中抓取),select two下拉列表将填充与select one中选择的内容相关的值 这是我用来获取“选择一”值以填充“选择二”的脚本: $(function() { $("#semester").change(function() { $("#course").l

我可能把事情弄得更复杂了,希望你们能帮我理清思路

在我的数据库中,我有一个带有枚举字段的表,其中大多数值都包含空格。目前,我正在尝试使用组合选择,这样每当有人在select one中选择包含所有枚举值的内容时(php从数据库中抓取),select two下拉列表将填充与select one中选择的内容相关的值

这是我用来获取“选择一”值以填充“选择二”的脚本:

$(function() {
$("#semester").change(function() {
    $("#course").load("tester.php?semester=" + $("#semester").val());
});
});
我用于获取枚举的脚本:

 $optionresult = mysql_result(mysql_query('SELECT column_type FROM information_schema.columns 
 WHERE table_name = "item" AND column_name = "'.$columnname.'"'),0);
 $values = explode("','",substr($optionresult,6,-2));
 for($i = 0; $i < count($values); $i++) { 
 echo '<option value="'.$values[$i].'">'.$values[$i].'</option>'; 
像Long term和Spring2012这样的东西会被通过并发布,而像Spring2012这样的东西不会

有没有一种方法可以解决这个问题,而不必手动键入每个选项值,删除选项值中的空格,然后在查询时将其重新添加

试试看

$("#course").load("tester.php?semester=" + 
    encodeURIComponent($("#semester").val()));
encodeURIComponent将负责对querystring中的空格进行编码。第一学期改为第一学期


服务器将自动解码-`$\u GET[Serm]将是第一学期

选项值中可以有空格。你的问题一定在别处。您可以发布tester.php的输出吗?另外,我建议您在这两种情况下使用htmlentities$values[$I]。我最终使用了replace方法,但这听起来更干净!谢谢