我运行一个查询,该查询仅返回来自特定字段的第一个单词,该字段具有多个由空格分隔的单词。查询的结果将是我动态创建的选择框的值。我有3个选择框是根据另一个的选择动态创建的。显示选择结果在PHP
问题是查询返回整个句子,并显示在选择框中。我试图单独在数据库中运行查询,它似乎给了我正确的结果。
这是代码片段。我该如何解决它?
<?php
//**************************************
// First selection results //
//**************************************
if(isset($_GET['func'])&& $_GET['func'] == "drop_1") {
drop_1($_GET['drop_var']);
}
function drop_1($drop_var)
{
$result = mysql_query("SELECT DISTINCT SUBSTRING_INDEX(`h_name` ,' ', 1) AS name FROM hypermarket_em") or die(mysql_error());
echo '<select name="drop_2" id="drop_2"><option value=" " disabled="disabled" selected="selected">Select City</option>
<option value="ALL" >ALL</option>';
while($drop_2 = mysql_fetch_array($result))
{
echo '<option value="'.$drop_2['name'].'">'.$drop_2['name'].'</option>';
}
echo '</select>';
echo "<script type=\"text/javascript\">
$('#wait_2').hide();
$('#drop_2').change(function(){
$(this).parent().parent().find('.drop2').val($(this).val());
$('#wait_2').show();
$('#result_2').hide();
$.get(\"func.php\", {
func: \"drop_2\",
drop_var: $('#drop_2').val()
}, function(response){
$('#result_2').fadeOut();
setTimeout(\"finishAjax_tier_three('result_2', '\"+escape(response)+\"')\", 400);
});
return false;
});
</script>";
}
?>
任何想法非常赞赏。谢谢。
对不起,这是错误的复制粘贴。请参阅我的编辑。 – Wafa
避免使用mysql_ *函数,因为它们已被弃用,并且非常不鼓励使用。看看这篇关于PHP.net的文章来选择一个替代API:http://www.php.net/manual/en/mysqlinfo.api.choosing.php – Timr