<?php
$query = mysql_query("Select id, name From table");
while($row = mysql_fetch_array($query)) {
echo $_GET["jsoncallback"] . '(<option value='.$row['id'].'>'.$row['name'].'</option>)';
}
?>
当我回显结果时,它是错误的,如何解决?
答案 0 :(得分:1)
你没有说出错误在哪里,但可能是在JS中:
;
$_GET
数据,以确保它符合JS函数名称的语法。哦,我知道你已将此标记为JSON-P,在这种情况下:
使用所有数据构造一个单个对象,使用encode_json
将其转换为JSON,然后使用回调(和)包装整个事物。不要在while循环中多次调用回调。
答案 1 :(得分:1)
由于你没有准确写出你想要做的事情,我猜你正在尝试返回一个JS回调函数将放在你的文档中的HTML选项列表。
试试这个:
<?php
$options = '';
$query = mysql_query("Select id, name From table");
while ($row = mysql_fetch_array($query)) {
$options .= '<option value="'.$row['id'].'">'.$row['name'].'</option>' . "\n";
}
echo $_GET["jsoncallback"] . "('" . $options . "');";
?>
这将首先以字符串形式创建所有选项,然后才构建回调。
答案 2 :(得分:0)
你确定jsoncallback已设置好吗?试试这个:
<?php
$jsoncallback = isset($_GET["jsoncallback"])? $_GET["jsoncallback"] : "";
$query = mysql_query("Select id, name From table");
while($row = mysql_fetch_array($query)) {
echo $jsoncallback . '(<option value='.$row['id'].'>'.$row['name'].'</option>)';
}
?>
答案 3 :(得分:0)
鉴于您没有提供您正在获得的错误。我会建议试试这个:
<?php
if(isset($_GET['jsoncallback']))
{
$query = mysql_query("Select id, name From table");
while($row = mysql_fetch_array($query)) {
echo $_GET["jsoncallback"] . '(<option value='.$row['id'].'>'.$row['name'].'</option>)';
}
}
else
echo "Jsoncallback not set.";
?>
答案 4 :(得分:0)
$_GET
通常不会返回错误。
可能的错误点是您的查询。
插入
echo mysql_error();
在while
循环之前;