Вопрос по json, mysql, php – Получение данных из MySQL в массив json

4

Я пытаюсь извлечь данные из моей базы данных, используя json в php. У меня есть несколько элементов, которые мне нужны, чтобы потом разместить их на странице.

Я хочу "получить" данные из mysql и вернуть их в json_encode. Как я могу сделать это, используя метод SELECT. Некоторые использовали методы PDO, а другие использовали mysql_assoc, что меня смущает.

Например,

У меня есть ряды: 'id' apos; , "название" , "начало", "фоновый цвет" ... и т. д. вместе со значением по умолчанию для всех из них. ($ array [] = & quot; someValue = default & quot;)

Я хочу экспортировать это так:

<code>array(
      'id' => 1,
      'title' => "someTitle",
      'start' => "2012-04-16",
      'backgroundColor' => "blue",
      'someValue' = > "default",
      ...
      ),   ....
 ));
</code>

Если бы кто-нибудь мог помочь мне в этом с лучшими деталями, я был бы великолепен!

Ваш Ответ

4   ответа
1

а затем отформатировать его в JSON

    $array = array();
    while($row = mysqli_fetch_array($result))
    {
        array_push($array,$row);
    }
    $json_array = json_encode($array);
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
10

<?php 
$dbh = new PDO("mysql:host=localhost;dbname=DBNAME", $username, $password);

$sql = "SELECT `id`, `title`, `time`, `start`, `backgroundColor` 
        FROM my_table";

$result = $dbh->query($sql)->fetchAll(PDO::FETCH_ASSOC);
//To output as-is json data result
//header('Content-type: application/json');
//echo json_encode($result);

//Or if you need to edit/manipulate the result before output
$return = [];
foreach ($result as $row) {
    $return[] = [ 
        'id' => $row['id'],
        'title' => $row['title'],
        'start' => $row['start'].' '.$row['time'],
        'backgroundColor' => $row['backgroundColor']
    ];
}
$dbh = null;

header('Content-type: application/json');
echo json_encode($return);
?>
Error: User Rate Limit Exceededajax()Error: User Rate Limit Exceededapi.jquery.com/jQuery.ajaxError: User Rate Limit Exceededtext/html
Error: User Rate Limit Exceeded Kyle Monti
Error: User Rate Limit Exceeded Kyle Monti
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Kyle Monti
5

Вы извлекаете результаты своей базы данных в массив PHP, а затем преобразуете этот массив php, ПОСЛЕ ПОЛУЧЕНИЯ ПОЛУЧЕНИЯ, в строку json.

например

$data = array();
while ($row = mysql_fetch_assoc($results)) {
   $data[] = $row;
}
echo json_encode($data);
Error: User Rate Limit Exceeded Kyle Monti
Error: User Rate Limit Exceededdata[7]['id']Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Kyle Monti
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
0

Вот

В целом это будет выглядеть так

$data = array(); // result variable

$i=0

$query = "SELECT id,title,start,backgroundColor FROM my_table"; // query with SELECT

$result = mysql_query($query);


while($row = mysql_fetch_assoc($result)){ // iterate over results
      $data['item'][$i]['id'] = $row['id']; // rest similarly 
      ...
      ...

      $i++; 
}

header('Content-type: application/json'); // display result JSON format
echo json_encode(array(
     'success' => true,
     'data' => $data // this is your data variable
));
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы