2013-08-23 5 views
2

Я пытаюсь отформатировать вывод sql-запроса в виде массива массивов для использования инструмента графа класса gannti в моих данных sql. Я не очень опытен (за пределами промышленных plc), и, похоже, не может найти решение этой конкретной проблемы, несмотря на множество ошибок в googeling.sql result as array массивов

SQL-запрос я хочу, чтобы выполнить выглядит так:

$query = "SELECT label, start, end from oppgaver "; 

И исходный массив показал в примере класса gannti записывается так:

$data = array(); 

data[] = array(
    'label' => 'alarmkit', 
    'start' => '2013-08-01', 
    'end' => '2013-09-10' 
); 

$data[] = array(
    'label' => 'Stekeovnskontroller', 
    'start' => '2013-08-22', 
    'end' => '2013-09-01' 
); 

$data[] = array(
    'label' => 'Tull og fanteri', 
    'start' => '2013-09-02', 
    'end' => '2013-09-10' 
); 

И тогда вы называете gantti делать это:

$gantti = new Gantti($data, array(
    'title'  => 'Elektro', 
    'cellwidth' => 15, 
    'cellheight' => 35, 
    'today'  => true 
)); 

Все работает хорошо, за исключением моей неспособности форматировать sql вывод на то, что я предполагаю, представляет собой массив массивов, поэтому класс gantti может делать свою магию. Я получил его, чтобы показать первую букву каждого ярлыка в базе данных sql один раз, но этот фрагмент искаженного кода, который я написал, вероятно, должен быть забыт :-)

Есть ли у кого-нибудь здесь идеи о том, как это сделать?

Update:

Последний способ я пытался получить данные, используя msql_fetch_assoc. К сожалению, я не записывал разные подходы, которые я сделал. Я также попробовал несколько примеров, которые я нашел при использовании mysql_fetch_array и mysql_fetch_row.

$query = "SELECT label, start, end from oppgaver "; 
$result = mysql_query($query); 
$data = array(); 


while ($row = mysql_fetch_assoc($result)) { 
     array_push($data, $row[0]); 
     } 
+1

[Обновить свой вопрос с тем, как вы читаете данные, которые вы получаете от вашего запроса, чтобы мы могли помочь вы на то, что вам там не хватает.] (http://stackoverflow.com/posts/18396878/edit) – Prix

+1

Вы пробовали array_push ($ data, $ row); нажать весь массив, а не только столбец? – user1498339

+0

array_push ($ data, $ row); сделал трюк, вместо чистых экранов я получаю правильный вывод. Большое спасибо за помощь и знания. – user2709938

ответ

0

Использование $row запихнуть в массиве вместо $row[0]

Как приведены ниже

while ($row = mysql_fetch_assoc($result)) { 
     array_push($data, $row); 
     }