Comme son nom l'indique la version minifiée est moins lourde...
Version imprimable
Comme son nom l'indique la version minifiée est moins lourde...
Tu vas me trouver chiant mais j'arrive pas à trouver l'onglet réponse dans la console de l'outils de développement de chrome....
Par contre je viens de me rendre compte qu'il y a avait déjà ceci:
au lieu de çaCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 /* Filtrage - Remplace le filtrage côté client, peut donc être long si la base de données est importante */ $sWhere = ""; if ( $_GET['sSearch'] != "" ) { $sWhere = "WHERE num_appelant = '".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ". "date_appel = '".mysql_real_escape_string( $_GET['sSearch'] )."' OR ". "heure_appel = '".mysql_real_escape_string( $_GET['sSearch'] )."'"; "media = '".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ". "nom_demandeur_appel = '".mysql_real_escape_string( $_GET['sSearch'] )."' OR ". "batiment = '".mysql_real_escape_string( $_GET['sSearch'] )."'"; "service = '".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ". "type_inter = '".mysql_real_escape_string( $_GET['sSearch'] )."' OR ". "objet_appel = '".mysql_real_escape_string( $_GET['sSearch'] )."'"; }
mais ça change rien pour le momentCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 /* Filtrage - Remplace le filtrage côté client, peut donc être long si la base de données est importante */ $sWhere = ""; if ( $_GET['sSearch'] != "" ) { $sWhere = "WHERE num_appelant = '".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ". "date_appel = '".mysql_real_escape_string( $_GET['sSearch'] )."' OR ". "heure_appel = '".mysql_real_escape_string( $_GET['sSearch'] )."'". "media = '".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ". "nom_demandeur_appel = '".mysql_real_escape_string( $_GET['sSearch'] )."' OR ". "batiment = '".mysql_real_escape_string( $_GET['sSearch'] )."'". "service = '".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ". "type_inter = '".mysql_real_escape_string( $_GET['sSearch'] )."' OR ". "objet_appel = '".mysql_real_escape_string( $_GET['sSearch'] )."'"; }
Lors du chargement de la page, vu que instancie ton datatable, le navigateur doit d'emblée aller faire uen requete ajax vers la page de traitement coté serveur
dans ta console firefox tu dois voir une ligne $POST en gras ...
avec un petit symbole + à coté
en cliquent sur le plus tu dois avoir des onglets qui s'affichent
Si tu n'as pas de requete au chargement c'est que ton datatable est mal instancié ...
tu n'aurais pas une page en ligne, ce serait plus simple pour diagnostiquer le bug
ok, mais comme j'avais google chrome je voyais pas la même console que toi. je viens d'installer firefox mais je n'ai pas la requête donc il doit être mal instancié vu ce que tu viens de me dire.
Je n'ai pas mis le site en ligne vu que c'est pour un site intranet.
Je compile toute la partie importante du site et je t'envoie ça dans un zip dans ta MP
tu es en get ? pas en post ?
le but est de voir les requetes dans la console ...
jette un oeil sur cette page
http://datatables.net/release-datata...rver_side.html
Merci pour le lien,
Je vais regarder tout ca.
je viens de lancer la page get_datatable.php dans le site. J'ai une erreur à la ligne 70 ce qui corresponds au premier enregistrement de la date:
Vu que ma table ressemble à ça dans phpmyadmin:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 while ( $aRow = mysql_fetch_array( $rResult ) ) { $sOutput .= "["; $sOutput .= '"'.addslashes(date(H:i d/m/Y'', $aRow['date_appel'])).'",'; $sOutput .= '"'.addslashes(date(H:i d/m/Y'', $aRow['heure_appel'])).'",'; $sOutput .= '"'.addslashes($aRow['nom_demandeur']).'",'; $sOutput .= '"'.addslashes($aRow['num_appelant']).'",'; $sOutput .= '"'.addslashes($aRow['batiment']).'"'; $sOutput .= '"'.addslashes($aRow['service']).'",'; $sOutput .= '"'.addslashes($aRow['media']).'",'; $sOutput .= '"'.addslashes($aRow['type_inter']).'"'; $sOutput .= '"'.addslashes($aRow['objet_appel']).'"'; $sOutput .= '"<a href="gest_appels_tableau.php?id=" '.$arow['id'].'="">Détails</a>"'; $sOutput .= "],"; } $sOutput = substr_replace( $sOutput, "", -1 ); $sOutput .= '] }';
http://dl.dropbox.com/u/31901874/tab..._datatable.jpg
Je pense que ca doit être dans la façon d'enregistrer les données dans ma table, est-ce que le faite d'enregistrer de cette manière:
(date(H:i d/m/Y'', $aRow['date_appel'])).'",';
ne cause pas des soucis avec la table qui a un champs enregistrer juste en type "date" et non datetime?
Merci
Pour moi tu as un souci avec ta page de traitement server side ...
Le meilleur moyen de debugguer est d'appeler la page diectement pour voir ce qu'elle retourne
Code:$sOutput .= '"'.addslashes(date(H:i d/m/Y'', $aRow['date_appel'])).'",';
visiblement un souci de quotes
Code:$sOutput .= '"'.addslashes(date('H:i d/m/Y', $aRow['date_appel'])).'",';
ça commence à être mieux,
maintenant lorsque je lance directement la page de traitement get_datatable.php j'ai juste la phrase:
Could not select database gestspie
Par contre dans la page gest_appels_tableau.php j'ai toujours le même apercu:
http://dl.dropbox.com/u/31901874/Err...in%20avril.jpg
Ca fait comme si j'avais pas de fichier css qui lui dit comment il s'affiche et pas d'image pour le previous/next et autres....
Bon j'ai fait une erreur bete. j'avais le bon utilisateur pour la connexion a la bdd.
Si je lance la page get_datatable j'ai des erreurs en ligne 35, 48 et 63.
Est ce que une table sans donnees enregistrer peut causer des problemes parce qu'a l'heure actuelle j'ai rien enregistrer dans ma table?
Heu essaye deja de corriger les erreurs, ensuite, oui il est préférable d'avoir des données dans la table
Bon je viens de corriger ce que j'ai pu trouver comme erreurs.
Par contre pour l'envoi du formulaire je suis en train de le créer. Ça prends un peu plus de temps que prévus car je rencontre un problème avec l'enregistrement dans la bdd.
Voila ce que ça me donne et j'arrive pas faire en sorte que mon champs N° appel qui correspond a ID dans ma table "appels" s'incrémente tout seul à chaque création d'une fiche appel donc je cherche...:
http://dl.dropbox.com/u/31901874/err...formulaire.jpg
Je sais qu'il n'arrive pas à sélectionner la base alors que le code est le même que pour d'autre page du site. Mais bon je vais pas t'embêter avec ça.
Je te tiens au courant dès que j'aurais réussi mon envoie de formulaire pour voir si mon problème vient du faite qu'il y a pas de données dans la table mais bon je pense pas que ce soit ça vu le type d'affichage.
Sinon j'ai commencé à regarder ton lien et la façon dont ils traitent les données du tableau mais la manière est complètement différente de ce que j'ai lu dans ce tuto:
http://macmicro.chez.com/framework/d...onfig.php#data
Merci
Ouai c'est bon j'ai réussi, j'avais bien un soucis avec la connexion à la bdd.
Il me reste plus plus qu'a trouver comment faire en sorte de récupérer la dernière valeur de l'ID du dernier enregistrement et de le mettre dans un input au lieu d'un select pour que ma page d'enregistrement des appels (même si c'est juste un affichage et qu'il y a pas d'enregistrement à faire mais j'aime pas quand quelque n'est pas fini)....mais je suis sur la bonne voie, j'ai trouver la commande LAST_INSERT_ID donc je cherche de ce côté.
Sinon pour en revenir à datatable maintenant j'ai des données qui sont enregistrées dans la table "appels" mais cela ne change rien au problème...
Bonjour,
J'ai tenter de modifier mon code avec le lien que tu m'a donné. J'en suis donc arrivé à ceci:
avec une page de traitement comme ceci: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
31
32
33
34
35
36
37
38
39
40
41
42
43 <body> <form> <!-- Affichage du tableau --> <div id="tableau_appels"> <table cellpadding="0" cellspacing="0" border="0" class="display" id="menuTable"> <!-- Menu de la table --> <thead> <!-- Gestion du nom des colonnes --> <tr> <th width="5%">N°</th> <th width="7%">Date</th> <th width="7%">Heure</th> <th width="10%">Demandeur</th> <th width="6%">Tel</th> <th width="5%">Bâtiment</th> <th width="10%">Service</th> <th width="10%">Média</th> <th width="10%">Type Inter</th> <th width="30%">Objet</th> </tr> </thead> <!--Corps de la table : Affichage des données--> <tbody> <tr> <td colspan="10">Chargement des données...</td> </tr> </tbody> <!-- Pied du tableau: on peut copier le contenu du thead si on souhaite afficher en haut et en bas le nom des colonnes --> <tfoot> <tr> <th colspan="10"> </th> </tr> </tfoot> </table> </div> <!-- Fenêtre Modale lors du clic sur le logo SPIE --> <div id="popup_name" class="popup_block"> <a><img src="../images/CEA.png" alt="CEA" style="float: right; margin: 50px 0 0 20px;" /></a> <h2>Menu Gestion des Appels</h2> <p>Sur cette page, vous pouvez gérer tous les appels reçu. Vous pouvez rentrer toutes les informations concernant l'appel (Date, heure, demandeur etc...) et vous pouvez commencer à pré-remplir les champs concernant le type d'intervention lorsque ce dernier à été choisi dans le menu déroulant "Type d'intervention"</p> </div> </form> </body>
Mais j'ai toujours ma page qui m'affiche chargement des données et rien ne s'affiche et comme précédemment j'ai le même screenshot donc pas de mise en forme comme dans les tuto avec le champs de recherche, l'affichage des champs suivant etc...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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144 <?php /* Array of database columns which should be read and sent back to DataTables. Use a space where * you want to insert a non-database field (for example a counter or static image) */ $aColumns = array( 'id', 'date_appel', 'heure_appel', 'nom_demandeur', 'num_appelant', 'batiment', 'service', 'media', 'type_inter','objet_appel' ); /* La Colonne qui est indéxé, ici c'est la colonne ID */ $sIndexColumn = "id"; /* MLa table de la base de donnée à utiliser*/ $sTable = "appels"; /* Connexion à la base de données MySQL*/ $gaSql['user'] = "root"; $gaSql['password'] = ""; $gaSql['db'] = "gestspie"; $gaSql['server'] = "localhost"; $gaSql['type'] = "mysql"; /* * MySQL connection */ $gaSql['link'] = mysql_pconnect( $gaSql['server'], $gaSql['user'], $gaSql['password'] ) or die( 'Impossible de se connecter au serveur' ); mysql_select_db( $gaSql['db'], $gaSql['link'] ) or die( 'Impossible de sélectionner la table'. $gaSql['db']); /* Paging */ $sLimit = ""; if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' ) { $sLimit = "LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ". mysql_real_escape_string( $_GET['iDisplayLength'] ); } /* Ordering */ $sOrder = ""; if ( isset( $_GET['iSortCol_0'] ) ) { $sOrder = "ORDER BY "; for ( $i=0 ; $i<intval( $_GET['iSortingCols'] ) ; $i++ ) { if ( $_GET[ 'bSortable_'.intval($_GET['iSortCol_'.$i]) ] == "true" ) { $sOrder .= "`".$aColumns[ intval( $_GET['iSortCol_'.$i] ) ]."` ". mysql_real_escape_string( $_GET['sSortDir_'.$i] ) .", "; } } $sOrder = substr_replace( $sOrder, "", -2 ); if ( $sOrder == "ORDER BY" ) { $sOrder = ""; } } /* Filtrage */ $sWhere = ""; if ( isset($_GET['sSearch']) && $_GET['sSearch'] != "" ) { $sWhere = "WHERE ("; for ( $i=0 ; $i<count($aColumns) ; $i++ ) { $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR "; } $sWhere = substr_replace( $sWhere, "", -3 ); $sWhere .= ')'; } /* Filtrage individuel des colonnes */ for ( $i=0 ; $i<count($aColumns) ; $i++ ) { if ( isset($_GET['bSearchable_'.$i]) && $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' ) { if ( $sWhere == "" ) { $sWhere = "WHERE "; } else { $sWhere .= " AND "; } $sWhere .= "`".$aColumns[$i]."` LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' "; } } /* Requête SQL - Recupérer les données à afficher */ $sQuery = " SELECT SQL_CALC_FOUND_ROWS `".str_replace(" , ", " ", implode("`, `", $aColumns))."` FROM $sTable $sWhere $sOrder $sLimit "; $rResult = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error()); /* Data set length after filtering */ $sQuery = " SELECT FOUND_ROWS() "; $rResultFilterTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error()); $aResultFilterTotal = mysql_fetch_array($rResultFilterTotal); $iFilteredTotal = $aResultFilterTotal[0]; /* Total data set length */ $sQuery = " SELECT COUNT(`".$sIndexColumn."`) FROM $sTable "; $rResultTotal = mysql_query( $sQuery, $gaSql['link'] ) or die(mysql_error()); $aResultTotal = mysql_fetch_array($rResultTotal); $iTotal = $aResultTotal[0]; /* Output */ $output = array( "sEcho" => intval($_GET['sEcho']), "iTotalRecords" => $iTotal, "iTotalDisplayRecords" => $iFilteredTotal, "aaData" => array() ); while ( $aRow = mysql_fetch_array( $rResult ) ) { $row = array(); for ( $i=0 ; $i<count($aColumns) ; $i++ ) { if ( $aColumns[$i] == "version" ) { /* Special output formatting for 'version' column */ $row[] = ($aRow[ $aColumns[$i] ]=="0") ? '-' : $aRow[ $aColumns[$i] ]; } else if ( $aColumns[$i] != ' ' ) { /* General output */ $row[] = $aRow[ $aColumns[$i] ]; } } $output['aaData'][] = $row; } echo json_encode( $output ); ?>
En attente d'une réponse de ta part.
Encore merci pour ton aide et le temps que tu me consacre.
maxredphenix
Je viens de voir que j'avais mis un id="menuTable" alors que dans le code d'initialisation c'est:
$('#datatable').dataTable
Encore merci pour ton aide
maxredphenix