Imprimer la Page | Close Window

Probleme JQXgrid sur OE

Imprimé depuis: Forum openElement
Categorie:

openElement


Nom du Forum: Code (JS, PHP, CSS etc.), techniques etc.
Description du Forum: Discussions concernant le développement Web en général
URL: http://forum.openelement.com/fr/forum_posts.asp?TID=22047
Date: 28 Nov 2020 à 08:34
Version logiciel: Web Wiz Forums 10.18 - http://www.webwizforums.com


Sujet: Probleme JQXgrid sur OE
Posté par: Inkospor
Sujet: Probleme JQXgrid sur OE
Posté le: 27 Mai 2016 à 22:50
Bonjour à tous,

J'avance gentiment dans la conception de mon site web. Je souhaiterai maintenant donner à l'utilisateur la possibilité de pouvoir modifier et supprimer des informations d'une table SQL. Après plusieurs jours d'essai, j'ai enfin réussi à corriger mon code afin que plus aucun message d'erreur n'apparaissent.

Par contre, je ne comprends pas, hormis les 3 boutons "Ajout, modifier et supprimer" rien ne s'affiche sur ma page. J'ai utiliser le tuto suivant: http://www.jqwidgets.com/jquery-widgets-documentation/documentation/phpintegration/php-server-side-grid-crud.htm.

Si quelqu'un aurait la gentillesse d'éclairer ma lanterne, ce serait super! Merci d'avance.

http://www.jqwidgets.com/jquery-widgets-documentation/documentation/phpintegration/php-server-side-grid-crud.htm

Voici mon code:

Script connection SQL

$hostname = "localhost";
$database = "XXXXXXX";
$username = "root";
$password = "";

$mysqli = new mysqli($hostname, $username, $password, $database);

/* check connection */
if (mysqli_connect_errno())
 {
 printf("Connect failed: %s\n", mysqli_connect_error());
 exit();
 }

// get data and store in a json array
 $user = ($_SESSION['oelog01_UserID']);

// get data and store in a json array

$query = "SELECT idcharge, naturecharge, fournisseurcharge, facturecharge, datecharge, prixcharge, iduser FROM oe_charges_exploitation WHERE iduser = $user";

if (isset($_GET['insert']))

 {

 // INSERT COMMAND

 $query = "INSERT INTO `oe_charges_exploitation`(`naturecharge`, `fournisseurcharge`, `facturecharge`, `datecharge`, `prixcharge`, `iduser`) VALUES (?,?,?,?,?,?)";

 $result = $mysqli->prepare($query);

 $result->bind_param('sssssss', $_GET['naturecharge'], $_GET['fournisseurcharge'], $_GET['facturecharge'], $_GET['datecharge'], $_GET['prixcharge'], $_GET['$user']);

 $res = $result->execute() or trigger_error($result->error, E_USER_ERROR);

 // printf ("New Record has id %d.\n", $mysqli->insert_id);

 echo $res;

 }

  else if (isset($_GET['update']))

 {

 // UPDATE COMMAND

 $query = "UPDATE `oe_charges_exploitation` SET `naturecharge`=?, `fournisseurcharge`=?, `facturecharge`=?, `datecharge`=?, `prixcharge`=?, `iduser`=? WHERE `idcharge`=?";

 $result = $mysqli->prepare($query);

 $result->bind_param('sssssssi', $_GET['naturecharge'], $_GET['fournisseurcharge'], $_GET['facturecharge'], $_GET['datecharge'], $_GET['prixcharge'], $_GET['idcharge'], $_GET['$user']);

 $res = $result->execute() or trigger_error($result->error, E_USER_ERROR);

 // printf ("Updated Record has id %d.\n", $_GET['EmployeeID']);

 echo $res;

 }

  else if (isset($_GET['delete']))

 {

 // DELETE COMMAND

 $query = "DELETE FROM oe_charges_exploitation WHERE idcharge=?";

 $result = $mysqli->prepare($query);

 $result->bind_param('i', $_GET['idcharge']);

 $res = $result->execute() or trigger_error($result->error, E_USER_ERROR);

 // printf ("Deleted Record has id %d.\n", $_GET['EmployeeID']);

 echo $res;

 }

  else

 {

 // SELECT COMMAND

 $result = $mysqli->prepare($query);

 $result->execute();

 /* bind result variables */

 $result->bind_result($ChargeID, $Nature, $Fournisseur, $Facture, $Date, $Prix, $iuser);

 /* fetch values */

 while ($result->fetch())

  {

  $charges[] = array(

   'idcharge' => $ChargeID,

   'naturecharge' => $Nature,

   'fournisseurcharge' => $Fournisseur,

   'facturecharge' => $Facture,

   'datecharge' => $Date,

   'prixcharge' => $Prix,
   
   'iduser' => $iuser

  );

  }

 echo json_encode($charges);

 }

$result->close();

$mysqli->close();

/* close connection */


Script affichage/Json:

<link rel="stylesheet" href=".Files/js/jqwidgets/styles/jqx.base.css" type="text/css" />
<link rel="stylesheet" href=".Files/js/jqwidgets/styles/jqx.classic.css" type="text/css" />

<script type="text/javascript" src=".Files/js/jqwidgets/scripts/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxscrollbar.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxmenu.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxcheckbox.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxlistbox.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxdropdownlist.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxgrid.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxdata.js"></script>
<script type="text/javascript" src=".Files/js/jqwidgets/jqxgrid.selection.js"></script>
<script type="text/javascript">
 
<script type="text/javascript">
$(document).ready(function ()
{   
// prepare the data   

var source ={       
datatype: "json",       
datafields: [{ name: 'naturecharge' },{ name: 'fournisseurcharge' },{ name: 'facturecharge' },{ name: 'datecharge' },{ name: 'prixcharge' },],       
url: 'Testphp.php'
};   
$("#jqxgrid").jqxGrid({       
source: source,       
theme: 'classic',       
columns: [{ text: 'naturecharge', datafield: 'naturecharge', width: 250 },{ text: 'fournisseurcharge', datafield: 'fournisseurcharge', width: 150 },{ text: 'facturecharge', datafield: 'facturecharge', width: 180 },{ text: 'datecharge', datafield: 'datecharge', width: 200 },{ text: 'prixcharge', datafield: 'prixcharge', width: 120 }]   
});
});
            var source =
    {   
     datatype: "json", 
     cache: false,   
     datafields: [
      { name: 'idcharge'},
      { name: 'naturecharge'},  
      { name: 'fournisseurcharge'},  
      { name: 'facturecharge'},  
      { name: 'datecharge'},  
      { name: 'prixcharge'} 

     ],
     id: 'idcharge',
     url: 'Testphp.php',
     addrow: function (rowid, rowdata, position, commit) {   
      
// synchronize with the server - send insert command 
   var data = "insert=true&amp;" + $.param(rowdata);  
      $.ajax({           
       dataType: 'json',           
       url: 'Testphp.php',           
       data: data,   
       cache: false,           
       success: function (data, status, xhr) {    
        // insert command is executed.    
        commit(true);   
       },   
       error: function(jqXHR, textStatus, errorThrown)   
       {    
        commit(false);   
       }  
      });       
     },
     deleterow: function (rowid, commit) {   
      // synchronize with the server - send delete command       
     var data = "delete=true&amp;" + $.param({idcharge: rowid});  
      $.ajax({           
       dataType: 'json',           
       url: 'Testphp.php',   
       cache: false,           
       data: data,           
       success: function (data, status, xhr) {    
        // delete command is executed.    
       commit(true);   
       },   
       error: function(jqXHR, textStatus, errorThrown)   
       {    
        commit(false);   
       }  
      });       
     },
     updaterow: function (rowid, rowdata, commit) { 
      // synchronize with the server - send update command       
      var data = "update=true&amp;" + $.param(rowdata);   
      $.ajax({           
       dataType: 'json',           
       url: 'Testphp.php',   
       cache: false,           
       data: data,           
       success: function (data, status, xhr) {    
        // update command is executed.    
        commit(true);   
       },   
       error: function(jqXHR, textStatus, errorThrown)   
       {    
        commit(false);   
       }         
      });  
     }};
 
           var dataAdapter = new $.jqx.dataAdapter(source);
 // initialize jqxGrid
 $("#jqxgrid").jqxGrid(
  {   
   width: 500,   
   height: 350,   
   source: dataAdapter,   
   theme: theme,   
   columns: [           
       { text: 'Nature de la charge', datafield: 'naturecharge', width: 100 },           
    { text: 'Fournisseur', datafield: 'fournisseurcharge', width: 100 },           
    { text: 'Numero de facture', datafield: 'facturecharge', width: 180 },           
    { text: 'Date achat', datafield: 'datecharge', width: 180 },           
    { text: 'Prix TTC', datafield: 'prixcharge', width: 100 }                  
   ]
  });

 $("#addrowbutton").jqxButton({ theme: theme });
 $("#deleterowbutton").jqxButton({ theme: theme });
 $("#updaterowbutton").jqxButton({ theme: theme });
 
 // update row.
 $("#updaterowbutton").bind('click', function ()           {   
  var datarow = generaterow();   
  var selectedrowindex = $("#jqxgrid").jqxGrid('getselectedrowindex');   
  var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount;   
  if (selectedrowindex >= 0 && selectedrowindex < rowscount) {       
   var id = $("#jqxgrid").jqxGrid('getrowid', selectedrowindex);       
   $("#jqxgrid").jqxGrid('updaterow', id, datarow);    }});
 
 // create new row.
 $("#addrowbutton").bind('click', function () {   
  var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount;   
  var datarow = generaterow(rowscount + 1);  
  $("#jqxgrid").jqxGrid('addrow', null, datarow);});
 
 // delete row.
 $("#deleterowbutton").bind('click', function () {   
  var selectedrowindex = $("#jqxgrid").jqxGrid('getselectedrowindex');   
  var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount;   
  if (selectedrowindex >= 0 && selectedrowindex < rowscount) {       
   var id = $("#jqxgrid").jqxGrid('getrowid', selectedrowindex);       
   $("#jqxgrid").jqxGrid('deleterow', id);   
  }
 });

</script>


<body class='default'>

    <div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: center;">

        <div style="float: center;" id="jqxgrid">

        </div>

        <div style="margin-left: 30px; float: left;">

            <div>

                <input id="addrowbutton" type="button" value="Add New Row" />

            </div>

            <div style="margin-top: 10px;">

                <input id="deleterowbutton" type="button" value="Delete Selected Row" />

            </div>

            <div style="margin-top: 10px;">

                <input id="updaterowbutton" type="button" value="Update Selected Row" />

            </div>

        </div>

    </div>

</body>

Très bonne soirée.

JORDAN M.



Réponses:
Posté par: Inkospor
Posté le: 28 Mai 2016 à 10:19
Les erreurs que j'avais au début étaient des erreurs SQL, je les ai corrigée comme indiqué dans mon précédent message. Par contre concernant l'affichage du tableau, je ne comprends pas du tout la problématique. Pensez-vous qu'il s'agisse d'un problème d'appel de fonction ou de positionnement de mon code dans la page?

Meilleurs salutations.


Posté par: MicroVinc
Posté le: 28 Mai 2016 à 10:29
Bonjour, 
Sans ce pencher sur le code, il y a des choses qui pique :  2 body dans une page c'est pas possible !


-------------
-Éléments pour OpenElement : https://goo.gl/Wq3Cpp" rel="nofollow - ICI
-Tutoriels pour OpenElement : https://goo.gl/NdpS1i" rel="nofollow - ICI


La Bretagne, un État dans l'État


Posté par: Inkospor
Posté le: 28 Mai 2016 à 10:43
Salut MicroVinc.

Merci pour ta réponse. Cette erreur m'avait effectivement échappée malgré les nombreuses relecture. Ceci a été changé mais rien n'y change.

J'ai suivi le tutoriel dont j'ai mis le lien en l'adaptant à mes besoins et je suppose que je place mal mes éléments dans ma page ou que j'ai commis d'autres erreurs. D'autres avis ou aides me seraient fort appréciable svp?

Très bonne journée.

JORDAN M.


Posté par: Inkospor
Posté le: 28 Mai 2016 à 10:59
Bon j'avais des problème de chemin d'accès au fichier css et script (vu les erreurs avec l'outil developer tool avec la touche F12)

Il me transmet encore une erreur qui je pense bloque tout le processus:

SCRIPT5007: Impossible d’obtenir la propriété  « dataAdapter » d’une référence null ou non définie

Ayant copier le tuto ,je ne comprends pas trop cette erreur.


Posté par: Dmit OE
Posté le: 28 Mai 2016 à 11:13
L'erreur vient de la ligne

var dataAdapter = new $.jqx.dataAdapter(source);

Apparemment le module/plugin/script JQX n'est pas correctement inclus, ou n'est pas encore inclus a ce moment (on peut mettre eventuellement tout le code JavaScript dans

$(function(){
....
});

pour qu'il demarre seulement apres le chargement de la structure de la page.


Posté par: Inkospor
Posté le: 28 Mai 2016 à 11:21
Bonne nouvelle, erreurs corrigées sur le developper tool (problème de parenthèse) mais toujours aucune donnée d'affichée. Vraiment étrange.


Posté par: Inkospor
Posté le: 28 Mai 2016 à 11:23
Merci Dmit, j'ai vu ton message après correction erreur. Effectivement, le fait d'avoir inclus le tout dans

$(function(){
....
});

ne m'affiche plus l'erreur. Par contre, toujours page blanche à l'écran.


Posté par: Dmit OE
Posté le: 28 Mai 2016 à 13:13
Vous avez passé la page en PHP (menu Page->Scripts Serveur)? Pouvez-vous faire Export dans dossier, renommer le fichier de la page pour qu'il finisse par ".txt", publiez en ligne quelque part et donnez le lien.

Aussi, je conseille d'ajouter des "echo" dans le code PHP pour voir ce qu'il fait, et/o uenlever les commentaires sur les "printf".


Posté par: MicroVinc
Posté le: 28 Mai 2016 à 13:54
Il y a aussi peut-être jquery qui rentre en conflit avec jquery d'OE :

<script type="text/javascript" src=".Files/js/jqwidgets/scripts/jquery-1.11.1.min.js"></script>


-------------
-Éléments pour OpenElement : https://goo.gl/Wq3Cpp" rel="nofollow - ICI
-Tutoriels pour OpenElement : https://goo.gl/NdpS1i" rel="nofollow - ICI


La Bretagne, un État dans l'État


Posté par: Inkospor
Posté le: 28 Mai 2016 à 14:57
Merci à tous les deux pour vos réponses. Je ne sais pas comment j'ai fait mes désormais le tableau s'affiche avec le nom des colonnes mais celui-ci m'indique "no data to display".

Comme demandé Dimit, oui la page est bien en PHP et je transmets ci-dessous le lien pour le fichier txt

http://afdjindependante.ch/Espace_activite.txt

MicroVinc, effectivement j'ai enlevé le module jQuery qui rentrait probablement en conflit avec celui d'OE.

Je vous transmets ci-dessous le nouveau code (lorsque je charge la page, je vois bien les données sql passer mais rien n'est charge dans le tableau Jqueryxgrid.

<link rel="stylesheet" href="/Files/js/jqwidgets/styles/jqx.base.css" type="text/css" />
<link rel="stylesheet" href="/Files/js/jqwidgets/styles/jqx.classic.css" type="text/css" />


<script type="text/javascript" src="/Files/js/jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxscrollbar.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxmenu.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxcheckbox.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxlistbox.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxdropdownlist.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxgrid.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxdata.js"></script>
<script type="text/javascript" src="/Files/js/jqwidgets/jqxgrid.selection.js"></script>
 
<script type="text/javascript">
 

$(document).ready(function ()
{   
// prepare the data 
//
var generaterow = function (i) {
              var row = {};
              row["idcharge"] = idcharge;
                row["naturecharge"] = naturecharge;
                row["fournisseurcharge"] = fournisseurcharge;
                row["facturecharge"] = facturecharge;
                row["datecharge"] = datecharge;
                row["prixcharge"] = prixcharge;
                return row;
             }

 var source =
    {   
     datatype: "json",
     cache: false,   
     datafields: [
      { name: 'naturecharge'}, 
      { name: 'fournisseurcharge'}, 
      { name: 'facturecharge'}, 
      { name: 'datecharge'}, 
      { name: 'prixcharge'}
     ],
     id: 'idcharge',
     url: 'Espace_compta.php',
     addrow: function (rowid, rowdata, position, commit) {   
     
// synchronize with the server - send insert command
   var data = "insert=true&amp;" + $.param(rowdata); 
      $.ajax({           
       dataType: 'json',           
       url: 'Espace_compta.php',           
       data: data,  
       cache: false,           
       success: function (data, status, xhr) {   
        // insert command is executed.   
        commit(true);  
       },  
       error: function(jqXHR, textStatus, errorThrown)  
       {   
        commit(false);  
       } 
      });      
     },
     deleterow: function (rowid, commit) {   
      // synchronize with the server - send delete command       
     var data = "delete=true&amp;" + $.param({idcharge: rowid}); 
      $.ajax({           
       dataType: 'json',           
       url: 'Espace_compta.php',  
       cache: false,           
       data: data,           
       success: function (data, status, xhr) {   
        // delete command is executed.   
       commit(true);  
       },  
       error: function(jqXHR, textStatus, errorThrown)  
       {   
        commit(false);  
       } 
      });      
     },
     updaterow: function (rowid, rowdata, commit) {
      // synchronize with the server - send update command       
      var data = "update=true&amp;" + $.param(rowdata);  
      $.ajax({           
       dataType: 'json',           
       url: 'Espace_compta.php',  
       cache: false,           
       data: data,           
       success: function (data, status, xhr) {   
        // update command is executed.   
        commit(true);  
       },  
       error: function(jqXHR, textStatus, errorThrown)  
       {   
        commit(false);  
       }        
      }); 
     }};
 
           var dataAdapter = new $.jqx.dataAdapter(source);
 // initialize jqxGrid
 $("#jqxgrid").jqxGrid(
  {   
   width: 500,   
   height: 350,   
   source: dataAdapter,   
   theme: 'classic',   
   columns: [           
    { text: 'Nature de la charge', datafield: 'naturecharge', width: 100 },           
    { text: 'Fournisseur', datafield: 'fournisseurcharge', width: 100 },           
    { text: 'Numero de facture', datafield: 'facturecharge', width: 180 },           
    { text: 'Date achat', datafield: 'datecharge', width: 180 },           
    { text: 'Prix TTC', datafield: 'prixcharge', width: 100 }                  
   ]
  });
 
 $("#addrowbutton").jqxButton({ theme: 'classic' });
 $("#deleterowbutton").jqxButton({ theme: 'classic' });
 $("#updaterowbutton").jqxButton({ theme: 'classic' });
 
 // update row.
 $("#updaterowbutton").bind('click', function ()           {   
  var datarow = generaterow();   
  var selectedrowindex = $("#jqxgrid").jqxGrid('getselectedrowindex');   
  var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount;   
  if (selectedrowindex >= 0 && selectedrowindex < rowscount) {       
   var id = $("#jqxgrid").jqxGrid('getrowid', selectedrowindex);       
   $("#jqxgrid").jqxGrid('updaterow', id, datarow);    }});
 
 // create new row.
 $("#addrowbutton").bind('click', function () {   
  var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount;   
  var datarow = generaterow(rowscount + 1); 
  $("#jqxgrid").jqxGrid('addrow', null, datarow);});
 
 // delete row.
 $("#deleterowbutton").bind('click', function () {   
  var selectedrowindex = $("#jqxgrid").jqxGrid('getselectedrowindex');   
  var rowscount = $("#jqxgrid").jqxGrid('getdatainformation').rowscount;   
  if (selectedrowindex >= 0 && selectedrowindex < rowscount) {       
   var id = $("#jqxgrid").jqxGrid('getrowid', selectedrowindex);       
   $("#jqxgrid").jqxGrid('deleterow', id);   
  }
 });
});

</script>

   <div id='jqxWidget' style="font-size: 13px; font-family: Verdana; float: center;">

        <div style="float: center;" id="jqxgrid">

        </div>

        <div style="margin-left: 10px; float: left;">

            <div>
    
                <input id="addrowbutton" type="button" value="Add New Row" />

            </div>

            <div style="margin-top: 10px;">

                <input id="deleterowbutton" type="button" value="Delete Selected Row" />

            </div>

            <div style="margin-top: 10px;">

                <input id="updaterowbutton" type="button" value="Update Selected Row" />

            </div>

        </div>

    </div>

Merci infiniment de prendre la peine de regarder mon problème. Vous êtes super.

JORDAN Michael



Posté par: Dmit OE
Posté le: 28 Mai 2016 à 15:30
Dans le .txt je ne vois pas de code JQX etc. Je voulais voir le code source de la page contenant les scripts en question. Du coup je ne sais meme pas si vous les avez insere dans un Bloc de Code (et de quel type) et si vous les avez mis dans un fichier fait a la main. Vous vous etes trompe de la page peut-etre?

Si j'ai bien compris, le code JQX compte sur "Espace_compta.php" pour l'envoyer les donnees. Je ne sais pas ou il est, ici il n'y a pas: http://afdjindependante.ch/Espace_compta.php




Posté par: Inkospor
Posté le: 28 Mai 2016 à 16:18
Désolé Dmit, fatigue du jour. Effectivement je me suis trompé de page.

Voici le nouveau lien:

http://afdjindependante.ch/Espace_compta.txt


Posté par: Inkospor
Posté le: 28 Mai 2016 à 17:08
Seon la doc disponible sur le site jqwidget, il me semble que je procède à une erreur (je comprends pas bien l'anglais).

Je devrai remplacer:

else

 {

 // SELECT COMMAND

 $result = $mysqli->prepare($query);

 $result->execute();

 /* bind result variables */

 $result->bind_result($ChargeID, $Nature, $Fournisseur, $Facture, $Date, $Prix, $iuser);

 /* fetch values */

 while ($result->fetch())

  {

  $charges[] = array(

   'idcharge' => $ChargeID,

   'naturecharge' => $Nature,

   'fournisseurcharge' => $Fournisseur,

   'facturecharge' => $Facture,

   'datecharge' => $Date,

   'prixcharge' => $Prix,
   
   'iduser' => $iuser

  );

  }

 echo json_encode($charges);

 }


Par (avec mes infos mais pour le test je n'ai pas changé)


  else
{

// get data and store in a json array

$query = "SELECT * FROM employees";  
// SELECT COMMAND 

$result = mysql_query($query) or die("SQL Error 1: " . mysql_error());   
   while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {       
    $employees[] = array(           
     '$EmployeeID' =>&gt; $row['EmployeeID'],          
     '$FirstName' =>&gt; $row['FirstName'],          
     '$LastName' =>&gt; $row['LastName'],          
     '$Title' =>&gt; $row['Title'],           
     '$Address' =>&gt; $row['Address'],           
     '$City' =>&gt; $row['City'],           
     '$Country' =>&gt; $row['Country'],           
     '$Notes' =>&gt; $row['Notes']          );    }    
   echo json_encode($employees);

 }

Impossible de faire cette modification, trop de jour que je suis dans ce fichu code je crois. Il me fait une erreur

Parse error: syntax error, unexpected ';', expecting '(' in C:\wamp64\www\Espace_compta.php on line 127

Merci de votre aide


Posté par: Dmit OE
Posté le: 29 Mai 2016 à 01:11
La derniere erreur vient du fait qu'il y a des "=&gt;" comme dans
'EmployeeID' =&gt; $row['idcharge'],

au lieu de "=>" (je regarde dans le fichier TXT en ligne donc c'est sur).

Sinon, creez un fichier compta.php A LA MAIN, et placez tout le script PHP dedans, et changez les URLs dans les appels Ajax. Sinon l'appel Ajax retournera le resultat plus tout le code HTML de la page OE, ce qui casse tout. C'est ce que je comprends en tout cas a 1h du matin.


Posté par: Inkospor
Posté le: 29 Mai 2016 à 07:15
Bonjour Dmit,

Merci de prendre la peine de regarder mon problème et surtout a 0100 du matin ;).

J'avais déjà essayé d'effectuer la modification en remplaçant "=" par "=>" mais malheureusement sans succès.

Selon conseil, j'ai placé tout le script PHP dans un fichier que j'ai appelé data.php en remplaçant tous les urls concernés.... toujours et encore la même problématique: no data to display! A croire bientôt que c'est un problème insoluble!

D'autres idées peut-être? Personnellement,j'ai vraiment l'impression qu'il y a un problème de "jointure" entre mes requetes sql et l'appel AJAX. Peut-être et sans doute autres choses mais je suis loind d'être callé en programmation malheureusement.

En attendant d'avoir d'autres idées de solution, j'ai envoyé un mail au support jqwidgets.com.

JORDAN Michael


Posté par: Dmit OE
Posté le: 29 Mai 2016 à 11:12
Corrigez le probleme de =>, publiez le tout en ligne, je vais tester plus tard


Posté par: Inkospor
Posté le: 29 Mai 2016 à 16:38
Salutation Dmit,

Je poste uniquement le fichier .txt avec les modifications comme demande l'autre jour?


Posté par: Dmit OE
Posté le: 29 Mai 2016 à 23:58
Le mieux c'est de poster le site, mais j'imagine que vous n'avez pas initialisé la base de donnees en ligne etc. Postez au moins tous les codes - celui de la page (comme avant) et celui du script data.php.


Posté par: Inkospor
Posté le: 30 Mai 2016 à 00:07
Bonsoir Dmit,

Effectivement rien n'est encore initialisé sur les serveurs de mon hébergeur. Je poste donc les deux page en .txt?


Posté par: Inkospor
Posté le: 30 Mai 2016 à 00:18
J'ai publié ces pages, est-ce que cela convient ou manque-t-il quelque chose?

http://afdjindependante.ch/Espace_compta.txt
http://afdjindependante.ch/data.txt
http://afdjindependante.ch/data.php

Merci une fois de plus du temps consacré à mon problème. Lorsque celui-ci sera réglé, cela me permettra de créer plusieurs pages et l'on regardera pour la suite ensemble concernant le devis que j'avais demandé.


Posté par: Dmit OE
Posté le: 30 Mai 2016 à 00:56
Encore un echose: appellez directement (dans le navigateur) votre script data.php et postez ici ce qu'il renvoie, le mieux c'est Code Source de la page (Ctrl+U dans le navigateur). Pour voir ce qu'i lrenvoie comme donnees.

Il semble que vous avez oublie 
<?php
au debut du data.php (du coup la on voit le code source du script en ligne et rien n'est execute).


Posté par: Inkospor
Posté le: 30 Mai 2016 à 01:09
Voici les données qui me sont renvoyées:

[{"idcharge":"1","naturecharge":"Meuble","fournisseurcharge":"Autour de bebe","facturecharge":"12345","datecharge":"2012-05-20","prixcharge":"200"},{"idcharge":"2","naturecharge":"Lit d'appint","fournisseurcharge":"Autour de bebe","facturecharge":"34224","datecharge":"2012-02-20","prixcharge":"150"},{"idcharge":"3","naturecharge":"Chaise haut","fournisseurcharge":"AUbert","facturecharge":"3545","datecharge":"2012-05-20","prixcharge":"350"},{"idcharge":"4","naturecharge":"Biberon","fournisseurcharge":"Aubert","facturecharge":"5423","datecharge":"2002-05-16","prixcharge":"80"}]/* close connection */

Désolé pour l'oubli du <?php, je suis vraiment novice donc je fais facilement des erreurs.


Posté par: Dmit OE
Posté le: 30 Mai 2016 à 01:16
Ouvrez data.php dans Notepad++ ou autre editeur qui permet d'enregistrer Utf8 SANS BOM (dans le nouveau Notepad++ c'est "UTF8", contrairement a "UTF8 BOM" qui ajoutera 3 carateres bizarres au debut de output qui peuvent tout casser; enregistrez dans cet encodage (UTF8 sans BOM). Ne mettez PAS ?> a la fin, pour etre sur que rien ne s'ajoute a la fin non plus. 

Et c'est quoi ce /* close connection */ a la fin?? Avez-vous mis ?> justement juste avant?


Posté par: Inkospor
Posté le: 30 Mai 2016 à 01:18
Je suis incroyablement content car cela fonctionne!

J'ai du enlever une ligne qui pose problème apparement:

$user = ($_SESSION['oelog01_UserID']);

C'est embêtant car je dois filtrer les données affichées en fonction de l'utilisateur connecté.


Posté par: Inkospor
Posté le: 30 Mai 2016 à 01:19
Ca me fait une erreur $_SESSION undifine lorsque je mets cette ligne


Posté par: Inkospor
Posté le: 30 Mai 2016 à 01:31
Je vais regarder un peu de mon côté concernant ce problème Dmit. C'est déjà super que les données s'affiche. Je vais essaye de regarder tout seul ce problème.

En tout cas je te dis mille merci pour ton aide.


Posté par: Dmit OE
Posté le: 30 Mai 2016 à 01:33
C'est simple, il faut demarrer la session ajoutez au debut de script

session_start();


Posté par: Inkospor
Posté le: 30 Mai 2016 à 01:57
Merci Dmit. Cela fonctionne très bien. Je peux continuer un bout de développement de mon site.

Dans l'attente d'un futur problème à vous exposer et du devis, je vous dis bonne nuit.

JORDAN M.



Imprimer la Page | Close Window

Forum Software by Web Wiz Forums® version 10.18 - http://www.webwizforums.com
Copyright ©2001-2014 Web Wiz Ltd. - http://www.webwiz.co.uk