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

标签 php jquery mysql

我可能把这件事变得比需要的更复杂了,希望你们能帮助我理清头绪。

在我的数据库中,我有一个带有枚举字段的表,其中包含的大多数值都包含空格。目前,我正在尝试使用组合选择,这样每当有人在选择一个(包含枚举的所有值,由 php 从数据库中获取)中选择某些内容时,选择两个下拉列表将填充与什么相关的值在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 这样的东西会被通过和发布,而像 Spring 2012 这样的东西不会。

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

最佳答案

尝试

$("#course").load("tester.php?semester=" + 
    encodeURIComponent($("#semester").val()));

encodeURIComponent 将负责对查询字符串中的空格进行编码。它会将“第一学期”更改为“第一%20学期”。

服务器会自动解码——`$_GET["semester"] 将是“First Semester”;

关于php - 尝试传递包含空格的选项值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6974482/

相关文章:

javascript - AJAX 从多个数组中获取 PHP 输出

javascript - Jquery 从输入映射复杂数组

javascript - 视差实现指南像索尼网站

mysql - 仅从 MySQL Workbench 图/模型更新?

php - FILTER_SANITIZE_STRING 有什么作用?

php - md5密码确认失败

php - 检查更新是否确实更改了任何单元格(mysql、php)

javascript - 需要有关数据库结构的建议

php - 使用 LIKE 查询 MySQL 范围

php - 生成具有完整路径 (URLS) 和数据库值的嵌套树