tu es sur?parce-que il reconnait pas les premier data_set...
Version imprimable
tu es sur?parce-que il reconnait pas les premier data_set...
Sinon avant de déclarer ton $data_set tu sette ta variable avant :
Code:
1
2 $data_set = 0;
J'ai mis daata_set=0; au début.Il n'y a plus d'erreur mais ça n'affiche rien... je vais voir le nombre de résultat dans ma requete
J'ai vu mon erreur
Le premier $data_set ne doit pas être concaténé soit = et pas .=Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <?php $sql_inc="SELECT id_Inc,id_Pb,name_Inc,desc_Inc,date_Inc,id_Loc FROM incident LEFT JOIN location ON incident.id_Loc = location.id_Loc where id_Pb=1 ORDER BY date_Inc DESC LIMIT 5 "; $res_inc=mysql_query($sql_inc); while($rows_inc=mysql_fetch_assoc($res_inc)){ $data_set = "{/n"; $data_set .= "data: [/n"; $data_set .= "{/n"; $data_set .= "date:'" . $rows_inc['date_Inc'] . "',/n"; $data_set .= "name:'" . $rows_inc['name_Inc'] . "',/n"; $data_set .= "desc:'" . $rows_inc['desc_Inc'] . "',/n"; $data_set .= "location:'" . $rows_inc['id_Loc'] . "'/n"; $data_set .= "}/n"; $data_set .= "]/n"; $data_set .= "}"; } ?>
J'ai des questions à te poser
mais là ça n'affiche rien je vais voir le nombre de ligne de ma requete avec sql nbr rows
Il me dit bien 4
mais pourquoi il n'ya pas l'affichage de mon tableau ? bizarre
Fait un var_dump beaucoup plus explicite:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php $sql_inc="SELECT id_Inc,id_Pb,name_Inc,desc_Inc,date_Inc,id_Loc FROM incident LEFT JOIN location ON incident.id_Loc = location.id_Loc where id_Pb=1 ORDER BY date_Inc DESC LIMIT 5 "; $res_inc=mysql_query($sql_inc); while($rows_inc=mysql_fetch_assoc($res_inc)){ $data_set = "{/n"; $data_set .= "data: [/n"; $data_set .= "{/n"; $data_set .= "date:'" . $rows_inc['date_Inc'] . "',/n"; $data_set .= "name:'" . $rows_inc['name_Inc'] . "',/n"; $data_set .= "desc:'" . $rows_inc['desc_Inc'] . "',/n"; $data_set .= "location:'" . $rows_inc['id_Loc'] . "'/n"; $data_set .= "}/n"; $data_set .= "]/n"; $data_set .= "}"; var_dump($rows_inc); } ?>
Fait aussi un var_dump de $data_set comme ceci :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php $sql_inc="SELECT id_Inc,id_Pb,name_Inc,desc_Inc,date_Inc,id_Loc FROM incident LEFT JOIN location ON incident.id_Loc = location.id_Loc where id_Pb=1 ORDER BY date_Inc DESC LIMIT 5 "; $res_inc=mysql_query($sql_inc); while($rows_inc=mysql_fetch_assoc($res_inc)){ $data_set = "{/n"; $data_set .= "data: [/n"; $data_set .= "{/n"; $data_set .= "date:'" . $rows_inc['date_Inc'] . "',/n"; $data_set .= "name:'" . $rows_inc['name_Inc'] . "',/n"; $data_set .= "desc:'" . $rows_inc['desc_Inc'] . "',/n"; $data_set .= "location:'" . $rows_inc['id_Loc'] . "'/n"; $data_set .= "}/n"; $data_set .= "]/n"; $data_set .= "}"; } var_dump($data_set); ?>
Tu peux faire aussi un echo $data_set en dehors de la boucle pour vérifier et contrôler le schéma attendu celui du js.
Si il y a de la data et que le schéma correspond, c'est maintenant que tu contrôle tes données JS donc avoir l'extension firebug et plus que nécéssaire, il faut contrôler que le schéma js est bien un object json.
Voici ce que cela me donne:
array (size=6)
'id_Inc' => string '4' (length=1)
'id_Pb' => string '1' (length=1)
'name_Inc' => string 'Skimming ' (length=9)
'desc_Inc' => string 'moiiii' (length=1
'date_Inc' => string '2013-07-22' (length=10)
'id_Loc' => string '4' (length=1)
array (size=6)
'id_Inc' => string '1' (length=1)
'id_Pb' => string '1' (length=1)
'name_Inc' => string 'Skimming incident' (length=17)
'desc_Inc' => string '
hiiiiiiiiiiiiiiiiiiiiiiiiii(length=1)
'date_Inc' => string '2013-05-11' (length=10)
'id_Loc' => string '1' (length=1)
array (size=6)
'id_Inc' => string '3' (length=1)
'id_Pb' => string '1' (length=1)
'name_Inc' => string 'Skimming dealers' (length=16)
'desc_Inc' => string '. We.' (length=1)
'date_Inc' => string '2012-11-12' (length=10)
'id_Loc' => string '165' (length=3)
array (size=6)
'id_Inc' => string '2' (length=1)
'id_Pb' => string '1' (length=1)
'name_Inc' => string 'Skimming problem' (length=16)
'desc_Inc' => string 'theeee' (length=1)
'date_Inc' => string '2011-08-11' (length=10)
'id_Loc' => string '165' (length=3)
Donne moi aussi le echo de $data_set il doit conforme au schéma.
Et vérifie les erreurs js que tu as dans firebug svp.
comment vérifier le firebug?
Attends voici le écho en dehors de la boucle:
{/ndata: [/n{/ndate:'2011-08-11',/nname:'important problem',/ndesc:'I used the card',/nlocation:'165'/n}/n]/n}
Investigation du code JS :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 <script> $("#grid").kendoGrid({ columns: [ { field: "date" }, { field: "name" }, { field: "desc" }, { field: "location" } ], groupable: true, sortable: true, pageable: { refresh: true, pageSizes: true }, }); //on declare une variable et on affecte le code PHP var data_set = <?php echo $data_set; ?>; //on controle le schéma js console.log(data_set); //on verifie le type de donnée js console.log(typeOf(data_set)); var dataSource = new kendo.data.DataSource(data_set); var grid = $("#grid").data("kendoGrid"); grid.setDataSource(dataSource); </script>
Ok dans ce cas supprime les /n du code PHP ils sont coupables du problème JS.
ça me donne ceci:
{data: [{date:'2011-08-11',name:important problem',desc:'I used the card',location:'165'}]}
Le schéma présente une erreur il manque une quote
Code:
1
2 {data: [{date:'2011-08-11',name:'important problem',desc:'I used the card',location:'165'}]}
j'avais mal copié coller :oops:
le schéma est bon
mais pourquoi ça n'affiche pas de tableau?
Pour éviter les erreurs de simple ou double quote provenant des data mysql fait un :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <?php $sql_inc="SELECT id_Inc,id_Pb,name_Inc,desc_Inc,date_Inc,id_Loc FROM incident LEFT JOIN location ON incident.id_Loc = location.id_Loc where id_Pb=1 ORDER BY date_Inc DESC LIMIT 5 "; $res_inc=mysql_query($sql_inc); while($rows_inc=mysql_fetch_assoc($res_inc)){ $data_set .= "{/n"; $data_set .= "data: [/n"; $data_set .= "{/n"; $data_set .= "date:'" . $rows_inc['date_Inc'] . "',/n"; $data_set .= "name:'" . utf8_encode($rows_inc['name_Inc']) . "',/n"; $data_set .= "desc:'" . utf8_encode($rows_inc['desc_Inc']) . "',/n"; $data_set .= "location:'" . $rows_inc['id_Loc'] . "'/n"; $data_set .= "}/n"; $data_set .= "]/n"; $data_set .= "}"; } ?>