mysql 데이터베이스에서 JSON 배열을 구축하는 방법
좋아요, 저는 mysql에서 JSON 배열을 만들기 위해 머리를 짜내고 있습니다.배열은 다음과 같은 형식이어야 합니다.저는 전체 달력을 사용하고 있고 달력의 이벤트를 역동적으로 만들고 싶습니다.아래는 배열을 구축하는 코드이지만 현재 mysql로부터 정보를 얻지 못합니다.
$year = date('Y');
$month = date('m');
echo json_encode(array(
//Each array below must be pulled from database
//1st record
array(
'id' => 111,
'title' => "Event1",
'start' => "$year-$month-10",
'url' => "http://yahoo.com/"
),
//2nd record
array(
'id' => 222,
'title' => "Event2",
'start' => "$year-$month-20",
'end' => "$year-$month-22",
'url' => "http://yahoo.com/"
)
));
당신이 하고 싶은 일이 이런 것입니까?
$return_arr = array();
$fetch = mysql_query("SELECT * FROM table");
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
$row_array['id'] = $row['id'];
$row_array['col1'] = $row['col1'];
$row_array['col2'] = $row['col2'];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
json 문자열을 다음 형식으로 반환합니다.
[{"id":"1","col1":"col1_value","col2":"col2_value"},{"id":"2","col1":"col1_value","col2":"col2_value"}]
아니면 이런 식으로.
$year = date('Y');
$month = date('m');
$json_array = array(
//Each array below must be pulled from database
//1st record
array(
'id' => 111,
'title' => "Event1",
'start' => "$year-$month-10",
'url' => "http://yahoo.com/"
),
//2nd record
array(
'id' => 222,
'title' => "Event2",
'start' => "$year-$month-20",
'end' => "$year-$month-22",
'url' => "http://yahoo.com/"
)
);
echo json_encode($json_array);
PDO 솔루션은 보다 나은 구현을 위해 제공됩니다.mysql_*
:
$array = $pdo->query("SELECT id, title, '$year-month-10' as start,url
FROM table")->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($array);
또한 문자열이 아닌 정수를 정수로 남길 수 있다는 점도 좋은 특징입니다.
Mysqli 사용자를 위한 업데이트:
$base= mysqli_connect($dbhost, $dbuser, $dbpass, $dbbase);
if (mysqli_connect_errno())
die('Could not connect: ' . mysql_error());
$return_arr = array();
if ($result = mysqli_query( $base, $sql )){
while ($row = mysqli_fetch_assoc($result)) {
$row_array['id'] = $row['id'];
$row_array['col1'] = $row['col1'];
$row_array['col2'] = $row['col2'];
array_push($return_arr,$row_array);
}
}
mysqli_close($base);
echo json_encode($return_arr);
사용합니다.
$array = array();
$subArray=array();
$sql_results = mysql_query('SELECT * FROM `location`');
while($row = mysql_fetch_array($sql_results))
{
$subArray[location_id]=$row['location']; //location_id is key and $row['location'] is value which come fron database.
$subArray[x]=$row['x'];
$subArray[y]=$row['y'];
$array[] = $subArray ;
}
echo'{"ProductsData":'.json_encode($array).'}';
언급URL : https://stackoverflow.com/questions/6281963/how-to-build-a-json-array-from-mysql-database
'programing' 카테고리의 다른 글
중첩된 내용이 후속 버전에 포함됩니까? (0) | 2023.10.27 |
---|---|
ExtractValue()가 업데이트에서 실패하고 SELECT에 성공하는 이유는 무엇입니까? (0) | 2023.10.27 |
Android에서 보기에 대한 불투명도(Alpha)를 설정하는 방법 (0) | 2023.10.27 |
캐시 설정 방법: jQuery.getcall에서 false (0) | 2023.10.27 |
iPhone에서는 미디어 쿼리가 작동하지 않지만 브라우저 크기에는 문제 없음 (0) | 2023.10.27 |