PHP MySQL выберите вопрос

У меня есть база данных под названием emplyees, структурированная так:

id name   entrydate    totalhours
1  test   11/11/2015      8
2  test2  11/11/2015      7
3  test   11/12/2015      8
4  test2  11/12/2015      9

И я хочу превратить это в нечто подобное

id name 11/11/2015  11/12/2015 
1  test      8          8
2  test2     7          9

Я пробовал несколько методов, но без результата, как я могу это сделать? Заранее спасибо!

1 ответ

Решение

Как только вы исправите свои даты, что-то вроде этого должно работать в PHP...

<?php

require('path/to/connection/stateme.nts');

$query = "
SELECT name
     , entrydate
     , totalhours
  FROM my_table
 ORDER
    BY name;
";

$result = mysqli_query($db,$query);

$array = array();

while($row = mysqli_fetch_assoc($result)){
$array[] = $row;
}


foreach ($array as $element)
    $newArray[$element["name"]][] = array($element["entrydate"]=>$element["totalhours"]);

print_r($newArray);

?>

выходы:

Array
(
    [test] => Array
        (
            [0] => Array
                (
                    [2015-11-11] => 8
                )

            [1] => Array
                (
                    [2015-11-12] => 8
                )

        )

    [test2] => Array
        (
            [0] => Array
                (
                    [2015-11-11] => 7
                )

            [1] => Array
                (
                    [2015-11-12] => 9
                )

        )

)

... которые можно легко выплюнуть на стол или на json

Другие вопросы по тегам