2014-01-15 29 views
0

我从我的PHP函数请从选择查询键值对

/** 
* Binding rooms to dropdown 
*/ 
if(isset($_GET['beds']) && isset($_GET['type'])){ 
    $room_type = $_GET['type']; 
    $number_of_beds = $_GET['beds']; 
    $bind_rooms = new Rooms; 
    $results = $bind_rooms->Bind_Rooms($room_type, $number_of_beds); 
    while ($row = $results->fetch_assoc()){ 
     echo json_encode($row); 
    } 


} 

我是多么不断努力才达到

{"40":"118"}{"41":"119"} 

得到这个响应

{"id":"40","roomno":"118"}{"id":"41","roomno":"119"} 

有反正我们可以从数据库中获取记录作为键值对,而不是列名作为关键字?我一直在努力做到这一点,因为早上:S

回答

4
echo json_encode(
    array_combine(
     array($row['id']), 
     array($row['roomno']) 
    ) 
); 

甚至干脆

echo json_encode(
    array(
     $row['id'] => $row['roomno'] 
    ) 
); 
+1

很好的回答。如果$ row是一个对象而不是数组,则可能需要'$ row-> id'和'$ row-> roomno' –

+0

警告:array_combine()期望参数1为数组,字符串在中给出D:\ xampp \ htdocs \ hotel \ crudrooms.php on line

+0

yahhh:D第二个完成:D –