jQueryガントチャートのjsonで動的にデータを生成しようとしています。私はPHPを知っていますが、JavaScriptは完全に環境に優しいです。私は、jsonにデータを動的に追加する方法について数十のソリューションを読み、数十の組み合わせを試しましたが、何もしませんでした。json形式は次のとおりです。
var data = [{
name: "Sprint 0",
desc: "Analysis",
values: [{
from: "/Date(1320192000000)/",
to: "/Date(1322401600000)/",
label: "Requirement Gathering",
customClass: "ganttRed"
}]
},{
name: " ",
desc: "Scoping",
values: [{
from: "/Date(1322611200000)/",
to: "/Date(1323302400000)/",
label: "Scoping",
customClass: "ganttRed"
}]
}, <!-- Somoe more data-->
}];
これで、phpdbの結果にすべてのデータが含まれます。ここに行きます:
$rows=$db->fetchAllRows($result);
$rowsNum=count($rows);
そして、これは私がそれからjsonを作成したかった方法です:
var data='';
<?php foreach ($rows as $row){ ?>
data['name']="<?php echo $row['name'];?>";
data['desc']="<?php echo $row['desc'];?>";
data['values'] = {"from" : "/Date(<?php echo $row['from'];?>)/", "to" : "/Date(<?php echo $row['to'];?>)/", "label" : "<?php echo $row['label'];?>", "customClass" : "ganttOrange"};
}
ただし、これは機能しません。ループなしで、チェックのためにphp変数をプレーンテキストに置き換えてみましたが、どちらも機能しませんでした。アイテムを追加せずにチャートを表示します。値のリストに追加して新しいアイテムを追加すると、機能します。したがって、ガント自体またはパスに問題はありません。上記のすべてに基づいて、問題はjsonにプレーンデータを追加することにあると思います。誰かが私がそれを修正するのを手伝ってくれますか?