2016-03-07 2 views
0

Первый таймер, пожалуйста, несите меня. Наверное, все неправильно.Многомерный массив от mysql для визуализации данных

Я пытаюсь вернуть многомерный массив из результатов запроса mysqli.

$results= mysqli_query($con,"SELECT color, COUNT(*) FROM table WHERE type = 'post' AND author = '$user_ID'"); 
while($row=mysqli_fetch_array($results) { 

Я хочу вернуть что-то, что попадает в этот формат.

$data = array(
    array(
    $row['color'], 
    $row['COUNT(*)'] 
), 
    array(
    $row['color'], 
    $row['COUNT(*)'] 
), 
    .... 
    array(
    $row['color'], 
    $row['COUNT(*)'] 
); 
); 

Это будет использоваться для заполнения круговой диаграммы, показывающей процентное соотношение цветов. Любая помощь будет оценена по достоинству.

Когда я создаю массивы вручную, я получаю желаемые результаты, но я не могу получить никаких попыток динамически.

$data = array(
    array(
    'red', 
    20 
), 
    array(
    'blue', 
    36 
), 
    .... 
    array(
    green, 
    10 
); 
); 
+0

вы ищете 'mysqli_fetch_assoc'? http://php.net/manual/en/mysqli-result.fetch-assoc.php. В качестве стороны вы должны использовать псевдоним для 'COUNT (*)' –

+0

Может быть? Как это получится? – Henry

+0

Я бы порекомендовал вам потратить некоторое время на ознакомление с функциями агрегации в MySQL. Посмотрите на «GROUP BY»: https://dev.mysql.com/doc/refman/5.7/ru/group-by-handling.html – ymas

ответ

1

Try:

$rows_colors = array(); 

while($r = mysqli_fetch_assoc($results)) { 

    $rows_colors[] = $r; 
} 

// Verify with: 
print_r($rows_colors); 
+0

Я дал эту попытку, и она просто печатает 'Array()' – Henry

+0

@Henry Раньше вы запускали запрос $ results? Если у вашего запроса были какие-либо результаты, не представляется возможным, что вы получаете пустой массив. – ILS

+0

Мне удалось получить полурабочий результат, который возвращает результаты, которые я ищу, используя сочетание того, что было откликнулось здесь. По какой-то причине я не могу заставить динамический массив заполнять визуализацию. Если я создаю и массиву вручную, результаты будут заполняться, но не из динамического для некоторых. Похоже на еще одно препятствие, чтобы прыгать. – Henry

Смежные вопросы