js部分:
$(document).ready(function(){
$.getJSON("http://127.0.0.1/test/getHotelRoomPrice.php?rnd="+ Math.random()+"&callback=?",
{ hotels_id: $('#hotels_id').val()},
 function(data){
if(data.length > 0){
var str = '';
for( i=0; i < data.length; i++){
str += '<tr><td width="277" bgcolor="#99CCFF" class="text">'+data[i].hotels_type_name+'</td> <td width="167" bgcolor="#99CCFF" class="text">'+data[i].hotels_price+'</td><td width="154" bgcolor="#99CCFF" class="text"><a href=""><img src="../../pic1/reserve-china-hotel.gif" alt="reserve hotel" width="70" height="18" border="0" /></a></td><td width="329" bgcolor="#99CCFF" class="text">'+data[i].start_time+' To '+data[i].end_time+'</td></tr>';
}
$("#dataTable").append(str);
    }
    else{
alert('未取得酒店数据!')
}
});
});
PHP部分:
//$hotels_name = isset($_GET['hotels_name']) ? trim($_GET['hotels_name']) : '';
$hotels_id = isset($_GET['hotels_id']) ? trim($_GET['hotels_id']) : 0;  $sql="select hotels_type_name,hotels_price,start_time,end_time from hotels where hotels_id='$hotels_id'";
//  echo $sql; 
 //return;
 $res=mysql_query($sql);
 $num=mysql_num_rows($res);
//  echo $num;
 //$datas=mysql_fetch_array($res,MYSQL_BOTH);
$str = '';
$jsondata = '';
if($num>0){
while($row=mysql_fetch_array($res, MYSQL_ASSOC)){
$str .= '{"hotels_type_name":"'.$row['hotels_type_name'].'","hotels_price":"'.$row['hotels_price'].'","start_time":"'.$row['start_time'].'","end_time":"'.$row['end_time'].'"},'; 
 }
$str = substr($str, 0, -1); //去掉末尾逗号 $jsondata = '['.$str.']';
// exit($jsondata);
 }
//echo $jsondata;
echo $_GET['callback'].'('.$jsondata.')';为什么我换个参数过去就取不到值!我把hotels_id换成hotels_name 就出来值!求个高手帮忙看看!万分感谢!

解决方案 »

  1.   

    恩啊 其实那个id不是主键的 只是为了方便编号的一个字段 ,我上面写的 用hotel_id传过去就成功,我换成hotels_name传过去就出现问题!
      

  2.   


    上面说错了!就是 我用hotels_id参数传过去的时候页面能显示到值,用hotels_name参数传过去的时候就显示不了值!
      

  3.   

    上面说错了!就是 我用hotels_id参数传过去的时候页面能显示到值,用hotels_name参数传过去的时候就显示不了值! 本家啊