MySQL PDO fetchAll как массив с форматом - PullRequest
0 голосов
/ 06 января 2019

У меня есть этот код PDO

function getAllUserTicketHistoryJson($rid){
    global $conn;
    $stmt = $conn->prepare("SELECT user_id, total_ticket FROM lottery_user WHERE round_id = :rou");
    $stmt->bindParam(':rou', $rid);
    $stmt->execute();
    $stmt->setFetchMode(PDO::FETCH_ASSOC);
    $res = $stmt->fetchAll();
    return $res;
}

и показать данные в моем индексном php-файле, как этот

$getAllUserTicketHistoryJson = getAllUserTicketHistoryJson($getRound['id']);

И вызовите все данные для этого

foreach($getAllUserTicketHistoryJson as $key => $value){
   $array=$value;
}

когда я пытаюсь var_export ($ value); данные показывают вот так

array ( 'user_id' => '1', 'total_ticket' => '1', )array ( 'user_id' => '2', 'total_ticket' => '50', )array ( 'user_id' => '3', 'total_ticket' => '10', )array ( 'user_id' => '4', 'total_ticket' => '5', )

У меня вопрос: можно ли отобразить данные в одном массиве?

должно быть так

array("1" => 1, '2' => 50, '3' => 10, '4' => 5)

как сделать так, чтобы данные попали в один массив?

1 Ответ

0 голосов
/ 06 января 2019

Нашли ответ, нам нужен пользовательский формат в foreach.

поэтому код будет таким

$data = array();
foreach($getAllUserTicketHistoryJson as $value){
    $data[$value['user_id']] = number_format((float)($value['total_ticket'] / $getAllTicketRound * 100), 2, '.', '');
}
...