Afficher des produits en fonction de la catégorie (Ajax-PHP)

Résolu/Fermé
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015 - Modifié par warbeast1000 le 9/06/2015 à 17:45
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015 - 11 juin 2015 à 17:10
Salutation chers confrères !

Aujourd'hui je m'adresse à vous dans l'espoir que vous m'aideriez à résoudre un problème qui est le suivant :


Je réalisa actuellement un site marchand, et plus précisement le panel admnistrateur en ce moment même. Mon problème, étant un ''jeune noob'' de l'AJAX, je n'arrive pas implémenté de solution viable afin d'afficher des produits de ma base en fonction de sa catégorie.


J'ai actuellement 2 tables qui doivent collaborer (produits, categories). La clé étrangère ''categD'' issus de la table categories est entrées dans produits et fonctionnel (lorsque j'appel categD de produits dans une liste déroulantes, ces dernières sortes.
Le fond du problème démarrer maintenant : je n'arrive pas à réaliser de fonction AJAX qui me permettrai les produits de la table produits en fonction de leur catégorie.
Je suis à l'arrêt :(
le bout de code concerné :

try{
    include('inc/cnx.inc.php');

    echo "<div class='categ'>";
    echo "<label>Catégorie : </label><[/contents/1068-sql-commande-select select] name='categD' class='categ' onchange='htmlData('ajaxcateg.php', 'ch='+this.value)'>";
    $req =$connexion->query("SELECT * FROM categories");
    while($donnees =$req->fetch()){
        echo "<option value=".$donnees['idD'].">".$donnees['categD']."</option>";
    }
    echo '</select><br /><br />';
    echo '</div>';
}
catch (PDOException $e){
 die("Source : ".$DSN." Erreur : ".$e->getMessage());
}


Je n'est absolument aucune idée de comment mettre en place mon module.
Vous allez me dire ''Google est ton ami'', mais pas cette fois-ci, j'ai essayé de mettre en place, des idées similaires a la mienne, mais je n'est pas compris, et réussie.

JE REMERCIE TOUT CEUX QUI VOUDRONT BIEN CE PENCHER SUR MON CAS !

Guillaume
A voir également:

21 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
9 juin 2015 à 17:37
Bonjour,
Il nous faudrait également ton code javascript...
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
9 juin 2015 à 17:43
Oui pardon omission de ma part ^^ voila voila !

function GetXmlHttpObject(handler)
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtResult").innerHTML= xmlHttp.responseText;
}
else {
//alert(xmlHttp.status);
}
}
// Will populate data based on input
function htmlData(url, qStr)
{
if (url.length==0)
{
document.getElementById("txtResult").innerHTML="";
return;
}
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
url=url+"?"+qStr;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true) ;
xmlHttp.send(null);
}


code que je n'est d'ailleurs pas compris (récupéré de ce tutoriel :http://www.satya-weblog.com/2007/04/dynamically-populate-select-list-by.html )
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
9 juin 2015 à 17:46
Oui je me suis bien douté que ce n'était pas toi qui l'avait écrit :-)

Et pour finir .. ton code HTML de la page où tu veux afficher ta liste
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
Modifié par jordane45 le 9/06/2015 à 17:53
Je souhaite appeler mes produits via un select en sql et une boucle while
echo '<table class="modifprod">';
           
           
$reqprod = $connexion->prepare("SELECT * FROM produits WHERE categD = 'PC Portable'");
$reqprod->execute();    
echo '<td>';

while($result = $reqprod->fetch()){
        echo "<br /><hr /><br /><h3 class='modifprod' value=".$result['refP']."'>".$result['marqueP']."__".$result['modeleP']." </h3><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous modifier ce produit?\")){document.location = \"specprod.php?refP=".$result['refP']."\"}'>Modifier</button><br /><br /><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous supprimer ce produit?\")){document.location = \"inc/delprod.inc.php?refP=".$result['refP']."\"}'>Supprimer</button><br /><br /><br />";
}

echo '</td>';

Cette boucle fonctionne si je l'utilise de cette façon '' Select .... categD= 'nomdelacategorie' ");
seulement je n'est que la catégorie indiquer :( voila pourquoi j'ai besoin d'ajax
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
9 juin 2015 à 17:53
ps: cela affiche mes produits, dérivés de la catégories appelé dans la boucle
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
9 juin 2015 à 17:58
Reprenons dans l'ordre ....

Tu as une LISTE déroulante ...( un SELECT HTML ) dont le nom est : categD

Lorsque tu séléctionnes une valeur dans cette lise, tu souhaites voir apparaitre une seconde liste (ou remplir une seconde liste ...ça serait mieux...) avec les infos provenant de ton ajax...

C'est bien ça ?

... est-ce que, dans la page où tu veux faire apparaitre les infos de ton ajax..., tu as bien un élément ( une DIV par exemple) dont l' ID serait : "txtResult" ??

Car... au vu du code montré (le JS) .. c'est là dedans qu'il t'affichera le résultat de ton ajax....
document.getElementById("txtResult").innerHTML= xmlHttp.responseText;


0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
9 juin 2015 à 18:40
Non je ne souhaite pas remplir une seconde liste.
Enfaîte l'idée serait d'en fonction de la catégorie sélectionnée dans la liste, on génère un tableau des produits (avec marque, modele et 2 boutons (un supprimer et un modifier)) de cette catégorie
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
9 juin 2015 à 19:53
Ou un tableau. .. peu importe...
il faut tout de même un endroit dans ta page... où le mettre. ..
donc.. MONTRE NOUS le code HTML de ta page
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
Modifié par jordane45 le 11/06/2015 à 09:38
<?php 

 session_start();
  
?>
<!DOCTYPE html>
<html lang="fr">
<head>
 <title>i48 website</title>
 <meta charset="utf-8" />
 <link rel="shortcut icon" href="css/images/favicon.ico" />
 <link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
 
 <script src="js/jquery-1.6.2.min.js" type="text/javascript" charset="utf-8"></script>
 <!--[if IE 6]>
  <script src="js/DD_belatedPNG-min.js" type="text/javascript" charset="utf-8"></script>
 <![endif]-->
 <script src="js/jquery.jcarousel.min.js" type="text/javascript" charset="utf-8"></script>
 <script src="js/functions.js" type="text/javascript" charset="utf-8"></script>
 <script src="ajax_categ.js" type="text/javascript"></script>
</head>
<body>
 <!-- Begin Wrapper -->
 <div id="wrapper">
  
  <?php
  
   include('inc/header.inc.php');
   if(isset($_SESSION['loginC'])){
    include('inc/menuconnected.inc.php');
   }
   else if(isset($_SESSION['loginA'])){
    include('inc/menuadmin.inc.php');
   }
   else{
    include('inc/menu.inc.php');
   }
   
  ?>
  
  
  <!-- Begin Main -->
  <div id="main">
   <!-- Begin Inner -->
   <div class="inner">
    <div class="shell">
     <div class="modifprod">
      <fieldset class="modifprod">
      
       <legend><h1>Liste Produits</h1></legend>
      
       <div id="modifprod">
                                                         echo '<table name="categ "class="modifprod"'>
/* MA REQUETE D'APPEL DE PRODUITS EN FONCTION DE LA  CATEGORIE */
echo "<td>"
/* MES BOUTONS D'ACTIONS SUR LES AUTRES FICHIERS VIA UNE BOUCLE WHILE */
while($result = $reqprod->fetch()){
               echo '<br /><hr /><br /><h3 class="modifprod" value='.$result['refP']."'>".$result['marqueP']."__".$result['modeleP']." </h3><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous modifier ce produit?\")){document.location = \"specprod.php?refP=".$result['refP']."\"}'>Modifier</button><br /><br /><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous supprimer ce produit?\")){document.location = \"inc/delprod.inc.php?refP=".$result['refP']."\"}'>Supprimer</button><br /><br /><br />";/*FIN DES BOUTONS*/
                                                         echo '</table>';
        ?>
        <br />       
       </div>
      </fieldset>
     </div>
    </div>
   </div>
  </div>
 <!-- Begin Footer -->
  <?php
  
   include('inc/footer.inc.php');
  
  ?>
  <!-- End Footer -->
 </div>
</body>
</html>



EDIT : Ajout du LANGAGE dans les balises de code
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

.

voila logiquement y a tout ce qui faut la
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 09:30
  • UP *

Svp mon problème n'est toujours pas résolu, j'ai une solution alternative, sans Ajax mais sa serai un peu, pardonner moi du terme, déguelasse :/

MERCI A VOUS !
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 10:03
Bonjour,

Je ne trouve nul part dans ton code ... à quel moment tu fais appel à la fonction ajax ....

Par contre... je vois que tu utilises JQUERY ( jquery-1.6.2.min.js) ... mais une VIELLE version.
Il serait préférable que tu passes à une version plus récente ... ET que tu utilises JQUERY pour faire appel à l'AJAX plutôt que d'essayer de le faire en "pur" JS (la syntaxe en est simplifiée...)

Pour que je puisse t'aider .. commence par m'indiquer, dans ton code, à quel endroit tu fais appel à ton script AJAX.... ( ou à quel endroit tu souhaites le faire).

N'oublies pas non plus de placer dans ta page, un élément ( une DIV par exemple) qui servira à indiquer à QUEL ENDROIT tu souhaites voir apparaitre le résultat.
(cette div aura pour ID : listeproduits par exemple).

Ce qui donnerait quelque chose comme ça :
//Script JS AJAX (en JQUERY)
function getProduitsByCategorie(categorie) {
var urlAjx = "chemin_vers_fichier_php_ajax";
 var data = {categorie:categorie};
    $.ajax({ 
           url:      urlAjx,
           dataType: "json",
           type:     "POST",
           data:     data,
           async:    false,
           success:  function(data){
                      //console.log(data);
                      $("#listeproduits).html(data); 
                  },
            error:function(jqXHR, textStatus){
             var error = formatErrorMessage(jqXHR, textStatus);
             alert('error :' + error);
            }
          });
};



Script PHP ajax
<?php
//Script PHP AJAX
 require_once('inc/cnx.inc.php');
//récupération des variables
$catégorie = isset($_POST['categorie']) ? $_POST['categorie']: NULL;

$result = "";
if($catégorie){
 $resut .="<table class='modifprod'>";
 $sql = "SELECT * FROM produits WHERE categD = :categorie";                    
 $params = array(":categorie"=>$categorie);
 $reqprod = $connexion->prepare($sql);
 $reqprod->execute($params );    

 while($result = $reqprod->fetch()){
  $resut .="<tr><td>";
  $resut .="<br /><hr /><br /><h3 class='modifprod' value=".$result['refP']."'>".$result['marqueP']."__".$result['modeleP']." </h3><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous modifier ce produit?\")){document.location = \"specprod.php?refP=".$result['refP']."\"}'>Modifier</button><br /><br /><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous supprimer ce produit?\")){document.location = \"inc/delprod.inc.php?refP=".$result['refP']."\"}'>Supprimer</button><br /><br /><br />";
  $resut .="</td></tr>";
 }
 $resut .="</table>";
}
//retour de la fonction
echo json_encode($result);

?>



et pour appeller la fonction javascript AJAX .. il suffit de faire par exemple:
 getProduitsByCategorie('PC Portable');


... ou encore.. dans un SELECT (une liste déroulante HTML )
    echo "<div class='categ'>";
    echo "<label>Catégorie : </label>
               <select name='categD' 
                          class='categ' 
                          onchange='getProduitsByCategorie(this.value);'>";
    $req =$connexion->query("SELECT * FROM categories");
    while($donnees =$req->fetch()){
        echo "<option value=".$donnees['categD'].">".$donnees['categD']."</option>";
    }
    echo '</select><br /><br />';
    echo '</div>';


0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 10:36
Waow, super, merci beaucoup je vais essayer sa mais avant tout
Est-ce que c'est ce plugin que je dois télécharger (jquery 1.11.3) ? ne m'étant jamais pencher sur le Jquery, je ne saurai choisir ^^.
Pour ce qui est de l'emplacement, j'aimerai que cela soit a cet endroit :

   <div id="modifprod">
echo '<table name="categ "class="modifprod"'>
/* MA REQUETE D'APPEL DE PRODUITS EN FONCTION DE LA CATEGORIE */
echo "<td>"
/* MES BOUTONS D'ACTIONS SUR LES AUTRES FICHIERS VIA UNE BOUCLE WHILE */
while($result = $reqprod->fetch()){
echo '<br /><hr /><br /><h3 class="modifprod" value='.$result['refP']."'>".$result['marqueP']."__".$result['modeleP']." </h3><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous modifier ce produit?\")){document.location = \"specprod.php?refP=".$result['refP']."\"}'>Modifier</button><br /><br /><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous supprimer ce produit?\")){document.location = \"inc/delprod.inc.php?refP=".$result['refP']."\"}'>Supprimer</button><br /><br /><br />";/*FIN DES BOUTONS*/
echo '</table>';

Le tout étant dans une table (table categ), j'utiliserai mon select categ au dessus afin de définir la catégorie.
Est-on obligé d'utiliser une div ou une simple table (donc ma table categ) pourrait-elle suffire ?

Un énorme merci pour cette aide, je vais adapter et tester votre code aujourd'hui. Je vous tiens au courant ce soir.
Vous remerciant, Guillaume
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 10:41
Est-ce que c'est ce plugin que je dois télécharger (jquery 1.11.3)

Oui.


j'aimerai que cela soit a cet endroit

Tu veux dire .. en remplacement du code qu'il contient ?
Donc.. dans la DIV
<div id="modifprod">


Est-on obligé d'utiliser une div ou une simple table (donc ma table categ)

Tu peux utiliser ce que tu veux... mais comme dans le script PHP (de l'ajax) .. tu y créé une TABLE.. le mieux est de le mettre dans une DIV.
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 10:44
D'accord,
Bon bah je fais tout sa, et je vous tiens au courant, merci pour toute ces explications !
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 11:01
il y a quelque chose que je ne saisie pas par contre...
Est-ce que mon script AJAX-PHP doit être appeler dans la même page que l'affichage, ou être include ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650 > warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 11:02
Le script PHP est appelé (tout seul comme un grand ^^ ) .. par le script JS
Tu n'en fais surtout pas d'include !

Par contre.. tu dois modifier la variable
var urlAjx = "chemin_vers_fichier_php_ajax";

pour y mettre..... le chemin vers le script PHP de ton ajax.....
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 11:08
Ah mais dans ce cas, le script JS dois être mis dans la page directement ? ou bien dans un autre fichier ? parce que pour le moment, si on resume j'ai ces 3 fichiers :
- ajaxcateg.inc.php (le script ajax-php)
- categ.js (le script js)
- modifprod.php (donc mon affichage)
Oui j'ai mis le chemin déjà :
var urlAjax = "inc/ajaxcateg.inc.php";
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 11:10

Ah mais dans ce cas, le script JS dois être mis dans la page directement ? ou bien dans un autre fichier ?

Tu peux le mettre dans la même page (que celle où se trouve ta liste contenant les catégories)


0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 11:18
Alors j'ai bien ma liste déroulante sa c'est bon, mais pas la table... comment faire pour qu'il appel les données (table) insérés dans le while de ajaxcateg.inc.php ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 11:48
Postes nous le code de ta page (celle qui contient ta liste déroulante).
=> Sachant que l'appel... se fait dans le ONCHANGE de ton SELECT.
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 11:57
je ne vois nul part l'apart du fichier contenant l'appel de l'ajax-php :/
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
Modifié par jordane45 le 11/06/2015 à 12:04
<?php 

 session_start();
 $expireAfter = 20;
 
 if(isset($_SESSION['loginC'])){
  
  //Figure out how many seconds have passed
  //since the user was last active.
  $secondsInactive = time() - $_SESSION['loginC'];
  
  //Convert our minutes into seconds.
  $expireAfterSeconds = $expireAfter * 20;
  
  //Check to see if they have been inactive for too long.
  if($secondsInactive >= $expireAfterSeconds){
   //User has been inactive for too long.
   //Kill their session.
   session_unset();
   session_destroy();
  }
  
 }
  
?>
<!DOCTYPE html>
<html lang="fr">
<head>
 <title>i48 website</title>
 <meta charset="utf-8" />
 <link rel="shortcut icon" href="css/images/favicon.ico" />
 <link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
 
 <script src="js/jquery-1.11.3.js" type="text/javascript" charset="utf-8"></script>
 <!--[if IE 6]>
  <script src="js/DD_belatedPNG-min.js" type="text/javascript" charset="utf-8"></script>
 <![endif]-->
 <script src="js/jquery.jcarousel.min.js" type="text/javascript" charset="utf-8"></script>
 <script src="js/functions.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
  function getProduitsByCategorie(categD) {
   var urlAjx = "inc/ajaxcateg.inc.php";
    var data = {categD:categD};
    $.ajax({ 
        url:      urlAjx,
        dataType: "json",
        type:     "POST",
        data:     data,
        async:    false,
        success:  function(data){
          //console.log(data);
          $("#listeproduits).html(data); 
         },
      error:function(jqXHR, textStatus){
       var error = formatErrorMessage(jqXHR, textStatus);
       alert('error :' + error);
      }
    });
  };
 </script>
</head>
<body>
 <!-- Begin Wrapper -->
 <div id="wrapper">
  
  <?php
  
   include('inc/header.inc.php');
   if(isset($_SESSION['loginC'])){
    include('inc/menuconnected.inc.php');
   }
   else if(isset($_SESSION['loginA'])){
    include('inc/menuadmin.inc.php');
   }
   else{
    include('inc/menu.inc.php');
   }
   
  ?>
  
  
  <!-- Begin Main -->
  <div id="main">
   <!-- Begin Inner -->
   <div class="inner">
    <div class="shell">
     <div class="modifprod">
      <fieldset class="modifprod">
      
       <legend><h1>Liste Produits</h1></legend>
      
       <div id="modifprod">
       
        <?php
        
        try{
         require_once('inc/cnx.inc.php');
          
          echo "<div class='categ'>";
           echo "<label>Catégorie : </label>
              <select name='categD' class='categ' onchange='getProduitsByCategorie(this.value);'>";
            $req =$connexion->query("SELECT * FROM categories");
            while($donnees =$req->fetch()){
             echo "<option value=".$donnees['categD'].">".$donnees['categD']."</option>";
            }
            echo '</select><br /><br />';
          echo '</div>';
          
          echo "<div id='listeproduits'>";
           include('inc/ajaxcateg.inc.php');
          echo "</div>";


Voila donc la fonction en JS est en haut, l'appel des catégories (qui marche) et suivi d'une div (listeproduits) pour laquelle je n'est aucune idée du code à insérer


EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

Merci d'y penser dans tes prochains messages.
.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 12:09
1 - Merci de penser à préciser le LANGAGE dans les balises de code.
ça rend le code plus lisible sur le forum.

2 - Voici le code légèrement corrigé:
<?php 
//Démarrage "propre" des SESSIONS
if(session_id() == '') {
 session_start();
}
$expireAfter = 20;
 
 if(isset($_SESSION['loginC'])){
  
  //Figure out how many seconds have passed
  //since the user was last active.
  $secondsInactive = time() - $_SESSION['loginC'];
  
  //Convert our minutes into seconds.
  $expireAfterSeconds = $expireAfter * 20;
  
  //Check to see if they have been inactive for too long.
  if($secondsInactive >= $expireAfterSeconds){
   //User has been inactive for too long.
   //Kill their session.
   session_unset();
   session_destroy();
  }
  
 }
  
?>
<!DOCTYPE html>
<html lang="fr">
<head>
 <title>i48 website</title>
 <meta charset="utf-8" />
 <link rel="shortcut icon" href="css/images/favicon.ico" />
 <link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
 
 <script src="js/jquery-1.11.3.js" type="text/javascript" charset="utf-8"></script>
 <!--[if IE 6]>
  <script src="js/DD_belatedPNG-min.js" type="text/javascript" charset="utf-8"></script>
 <![endif]-->
 <script src="js/jquery.jcarousel.min.js" type="text/javascript" charset="utf-8"></script>
 <script src="js/functions.js" type="text/javascript" charset="utf-8"></script>
 <script type="text/javascript">
  function getProduitsByCategorie(categD) {
   var urlAjx = "inc/ajaxcateg.inc.php";
    var data = {categD:categD};
    $.ajax({ 
        url:      urlAjx,
        dataType: "json",
        type:     "POST",
        data:     data,
        async:    false,
        success:  function(data){
          //console.log(data);
          $("#listeproduits").html(data); 
         },
      error:function(jqXHR, textStatus){
       var error = formatErrorMessage(jqXHR, textStatus);
       alert('error :' + error);
      }
    });
  };
 </script>
</head>
<body>
 <!-- Begin Wrapper -->
 <div id="wrapper">
  
  <?php
  
   include('inc/header.inc.php');
   if(isset($_SESSION['loginC'])){
    include('inc/menuconnected.inc.php');
   }
   else if(isset($_SESSION['loginA'])){
    include('inc/menuadmin.inc.php');
   }
   else{
    include('inc/menu.inc.php');
   }
   
  ?>
  
  
  <!-- Begin Main -->
  <div id="main">
   <!-- Begin Inner -->
   <div class="inner">
    <div class="shell">
     <div class="modifprod">
      <fieldset class="modifprod">
      
       <legend><h1>Liste Produits</h1></legend>
      
       <div id="modifprod">
       
        <?php
        
        try{
         require_once('inc/cnx.inc.php');
          
          echo "<div class='categ'>";
           echo "<label>Catégorie : </label>
              <select name='categD' class='categ' onchange='getProduitsByCategorie(this.value);'>";
            $req =$connexion->query("SELECT * FROM categories");
            while($donnees =$req->fetch()){
             echo "<option value=".$donnees['categD'].">".$donnees['categD']."</option>";
            }
            echo '</select><br /><br />';
          echo '</div>';
          
          echo "<div id='listeproduits'>";
          echo "</div>";


PS: Vu que tu as renommé la variable dans le script JS .. j'espère que tu l'as fait AUSSI dans le script PHP.

<?php
//Script PHP AJAX
 require_once('inc/cnx.inc.php');
//récupération des variables
$categorie= isset($_POST['categD']) ? $_POST['categD']: NULL;

$result = "";
if($categorie){
 $resut .="<table class='modifprod'>";
 $sql = "SELECT * FROM produits WHERE categD = :categorie";                    
 $params = array(":categorie"=>$categorie);
 $reqprod = $connexion->prepare($sql);
 $reqprod->execute($params );    

 while($result = $reqprod->fetch()){
  $resut .="<tr><td>";
  $resut .="<br /><hr /><br /><h3 class='modifprod' value=".$result['refP']."'>".$result['marqueP']."__".$result['modeleP']." </h3><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous modifier ce produit?\")){document.location = \"specprod.php?refP=".$result['refP']."\"}'>Modifier</button><br /><br /><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous supprimer ce produit?\")){document.location = \"inc/delprod.inc.php?refP=".$result['refP']."\"}'>Supprimer</button><br /><br /><br />";
  $resut .="</td></tr>";
 }
 $resut .="</table>";
}
//retour de la fonction
echo json_encode($result);

?>


=> J'ai fait une petite correction sur le nom de la variable categorie .. je ne sais pas pourquoi.. j'avais mis un accent (chose à ne pas faire !! )
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 12:16
Oui sa d'accord pas de soucis, mais comment afficher ma table ? c'est ce que je comprend pas sur le moment ^^
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 12:19
mais comment afficher ma table

Ben.. c'est le script JS qui s'en occupe
        success:  function(data){
          //console.log(data);
          $("#listeproduits").html(data); 
         },



Déjà .. pour voir ce qui se passe (et surtout. vérifier qu'il n'y a pas d'erreur de script...) il faut utiliser les outils de debogage de ton navigateur internet.
=> Je te conseille d'utiliser le plugin FIREBUG pour FIREFOX.
=> Tu lances le plugin.... tu ouvres l'onglet CONSOLE
=> Tu choisis une catégorie dans ta liste déroulante
=> Et tu regardes ... dans la console... ce qui s'affiche !


0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 12:22
je code sous chrome personnellement.
voici les erreurs de la console (3 erreurs):

Uncaught TypeError: Cannot read property 'msie' of undefined
jquery-1.11.3.js:9625 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/
2jquery-1.11.3.js:9222 Uncaught ReferenceError: formatErrorMessage is not defined
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 12:29
Tu n'aurais pas laissé ton "ancien code" ajax par hasard ?

Pour ce qui est de l'erreur sur le "formaterror" .. c'est de ma faute,
j'ai oublié de te donner une fonction perso ( à ajouter dans ton code js ou dans ton fichier functions.js par exemple)
//----------------------------------------------------------//
// AJAX
//-----------------------------------------------------------//
function formatErrorMessage(jqXHR, exception) {
    if (jqXHR.status === 0) {
        return ('Not connected.\nPlease verify your network connection.');
    } else if (jqXHR.status == 404) {
        return ('The requested page not found. [404]');
    } else if (jqXHR.status == 500) {
        return ('Internal Server Error [500].');
    } else if (exception === 'parsererror') {
        return ('Requested JSON parse failed.');
    } else if (exception === 'timeout') {
        return ('Time out error.');
    } else if (exception === 'abort') {
        return ('Ajax request aborted.');
    } else {
        return ('Uncaught Error.\n' + jqXHR.responseText);
    }
}

0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 13:02
sa a l'air déjà mieux mais il me cette erreur sous forme d'alert:
error:Requested JSON parse failed
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 13:04
ps: non l'ancien code à été retiré
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 14:29
Je ne crois pas que GoogleChrome dispo des mêmes options que firefox et son plugin firebug...
Je pense vraiment que pour comprendre ce qui ne va pas...il va te falloir t'y mettre..( firefox + firebug)
Entre autres choses.... firebug permet de voir les requêtes ajax envoyées au serveur et de voir leur résultat dans la console....
Sans ça.. je vais avoir du mal à t'aider d'avantage.



0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
Modifié par warbeast1000 le 11/06/2015 à 14:52
euh la il me dis qu'il y a une
erreur
, mais dans le plugin JQuery ._.
[/contents/498-html-langage html]>
<br />
<font size='1'>
<table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
      <tr>
             <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: require_once(inc/cnx.inc.php): failed to open stream: No such file or directory in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>3</i></th></tr>
      <tr>
             <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th>
      </tr>
      <tr>
              <th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th>
              <th align='left' bgcolor='#eeeeec'>Memory</th>
              <th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th>
       </tr>
        <tr>
               <td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>256864</td>
              <td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
        </tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-fatal-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
        <tr>
               <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Fatal error: require_once(): Failed opening required 'inc/cnx.inc.php' (include_path='.;C:\php\pear') in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>3</i>   </th></tr>
         <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
         <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
          <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>256864</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td></tr>
</table></font>

Alors la je sais pas du tout
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 14:40
1 - ... au cas où tu ne l'aurai pas remarqué ... je repasse sur chacun de tes messages pour indiquer le LANGAGE dans les balises de code.... j'aimerai bien que tu le fasses toi-même....
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

2- ...il te met un message ....... mouais.. ok ... LEQUEL ????.
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 14:48
Oui pardon, je me familiarise pas encore ^^
Voila l'erreur (en photo)
http://img11.hostingpics.net/pics/440345errajax.png
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 14:52
ah voila le code est mieux au dessus
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 14:58
La ligne jaune n'indique pas une erreur à proprement parlé... donc pas de souci à ce niveau là.
Par contre .. tu as une erreur dans ton fichier function.js
(cette erreur a du apparaitre avec la mise en place de la nouvelle version de jquery...)
Pour éviter cela, tu peux éventuellement mettre une version inférieur à la 1.9 .
Essayes avec la 1.8 => http://code.jquery.com/jquery-1.8.0.js
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 15:03
euh je suis sensé quoi avec ce code ? le mettre dans functions.js ?
Parce que la version de JQuery que j'ai est la 1.11.3
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 15:11
erreur modifier (problème de css)
il me reste l'erreur xhr, et le fais que la table ne s'affiche pas
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 15:16
l'erreur XHR ???
tu veux parle du message qui apparait en JAUNE dans la console ? ... si c'est ça .. je t'ai DIT ... <<CE N'EST PAS UNE ERREUR NE T'EN OCCUPE PAS ! >>

Par contre... je persiste .... PASSES PAR LE PLUGIN FIREBUG (de FIREFOX) pour voir exactement ce qui se passe !
Sans ça .. pas d'aide possible de ma part !
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 15:25
j'ai trouver et resolu 2 erreur ! (les require)

?<br />
<font size='1'>
<table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr>
       <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined variable: resut in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>9</i></th>
</tr>
<tr>
       <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th>
</tr>
<tr>
       <th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th>
      <th align='left' bgcolor='#eeeeec'>Memory</th>
      <th align='left' bgcolor='#eeeeec'>Function</th>
      <th align='left' bgcolor='#eeeeec'>Location</th>
</tr>
<tr>
       <td bgcolor='#eeeeec' align='center'>1</td>
       <td bgcolor='#eeeeec' align='center'>0.0005</td>
       <td bgcolor='#eeeeec' align='right'>256864</td>
       <td bgcolor='#eeeeec'>{main}(  )</td>
         <td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
</tr>
</table></font>
false
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 15:21
Oui mais par firebug c'est sa qu'il me donne, ce que j'ai mis au dessus
[/contents/498-html-langage html]>
<br />
<font size='1'>
<table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
      <tr>
             <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: require_once(inc/cnx.inc.php): failed to open stream: No such file or directory in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>3</i></th></tr>
      <tr>
             <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th>
      </tr>
      <tr>
              <th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th>
              <th align='left' bgcolor='#eeeeec'>Memory</th>
              <th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th>
       </tr>
        <tr>
               <td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>256864</td>
              <td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
        </tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-fatal-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
        <tr>
               <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Fatal error: require_once(): Failed opening required 'inc/cnx.inc.php' (include_path='.;C:\php\pear') in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>3</i>   </th></tr>
         <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
         <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
          <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0008</td><td bgcolor='#eeeeec' align='right'>256864</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td></tr>
</table></font>


et que tout sa vient de :
POST http://localhost/i48/inc/ajaxcateg.inc.php

Voila tout ce que me dis firebug + le message d'erreur :
error :Requested JSON parse failed.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 15:32
Normalement... firebug devrait t'afficher des choses de ce genre :


... qui .. quand on les déplie en cliquant sur le petit "+" à gauche.. affiche le détail (comme sur ma capture écran).


Par contre... je viens de voir que tu as un message d'erreur :

Fatal error: require_once(): Failed opening required 'inc/cnx.inc.php' (include_path='.;C:\php\pear') in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>3</i>

... il semble que le chemin que tu as indiqué vers ton fichier de connexion ne soit pas le bon.
(attention.. avec AJAX ... il faut donner le chemin exact complet .. ou le relatif...)
Par exemple :
<?php
 require_once("../inc/cnx.inc.php");

=> Tout dépend dans quel répertoire tu as placé ton script Php ajax... par rapport à ton fichier de connexion....
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
Modifié par warbeast1000 le 11/06/2015 à 15:49
le problème des require est résolu, et pour le POST je n'avais pas l'onglet qui m'affiche sa désormais
http://img11.hostingpics.net/pics/132709erro.png

ainsi que sa

http://img11.hostingpics.net/pics/474521erro2.png

est-ce que le $resut est une erreur de synthaxe ? ou est-ce bien le nom voulu pour la variable ?
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 15:47
qui m'affiche sa désormais

Ok..
et qu'y a t'il dans l'onglet REPONSE ?
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
Modifié par warbeast1000 le 11/06/2015 à 15:52
dans l'onglet réponse :
?<br />
<font size='1'>
<table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr>
      <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Undefined variable: resut in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>9</i></th>
</tr>
<tr>
      <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th>
</tr>
<tr>
      <th align='center' bgcolor='#eeeeec'>#</th>
      <th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th>
      <th align='left' bgcolor='#eeeeec'>Function</th>
      <th align='left' bgcolor='#eeeeec'>Location</th>
</tr>
<tr>
      <td bgcolor='#eeeeec' align='center'>1</td>
      <td bgcolor='#eeeeec' align='center'>0.0014</td>
      <td bgcolor='#eeeeec' align='right'>256864</td>
      <td bgcolor='#eeeeec'>{main}(  )</td>
      <td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
</tr>
</table></font>
false
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
Modifié par warbeast1000 le 11/06/2015 à 15:57
j'ai essayer en mettant $resut = " "; a la ligne avant l'erreur
du coup tout les catégories me renvois sa

POST http://localhost/i48/inc/ajaxcateg.inc.php

false

POST http://localhost/i48/inc/ajaxcateg.inc.php

false

POST http://localhost/i48/inc/ajaxcateg.inc.php

false
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 16:02
Le message d'erreur est :
Notice: Undefined variable: resut in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>9</i>


.. une faute de frappe s'est glissée lorsque j'ai écrit le code ...

<?php
//Script PHP AJAX
 require_once('inc/cnx.inc.php');
//récupération des variables
$categorie= isset($_POST['categD']) ? $_POST['categD']: NULL;

$result = "";
if($categorie){
 $result .="<table class='modifprod'>";
 $sql = "SELECT * FROM produits WHERE categD = :categorie";                    
 $params = array(":categorie"=>$categorie);
 $reqprod = $connexion->prepare($sql);
 $reqprod->execute($params );    

 while($result = $reqprod->fetch()){
  $result .="<tr><td>";
  $result .="<br /><hr /><br /><h3 class='modifprod' value=".$result['refP']."'>".$result['marqueP']."__".$result['modeleP']." </h3><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous modifier ce produit?\")){document.location = \"specprod.php?refP=".$result['refP']."\"}'>Modifier</button><br /><br /><br /><button class='modifprod' onclick='if(confirm(\"Voulez-vous supprimer ce produit?\")){document.location = \"inc/delprod.inc.php?refP=".$result['refP']."\"}'>Supprimer</button><br /><br /><br />";
  $result .="</td></tr>";
 }
 $result .="</table>";
}
//retour de la fonction
echo json_encode($result);

?>

0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
Modifié par warbeast1000 le 11/06/2015 à 16:25
alors voila, pour tablette et PC Portable (2 des 3 catégories) en réponse sa m'affiche
</table>


alors que pour Smartphone, qui est sensé être identique
il me remet des erreurs
<br />
<font size='1'>
<table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr>
       <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Array to string conversion in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>16</i>     </th>
</tr>
<tr>
       <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr>
       <th align='center' bgcolor='#eeeeec'>#</th>
      <th align='left' bgcolor='#eeeeec'>Time</th>
      <th align='left' bgcolor='#eeeeec'>Memory</th>
      <th align='left' bgcolor='#eeeeec'>Function</th>
      <th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr>
      <td bgcolor='#eeeeec' align='center'>1</td>
      <td bgcolor='#eeeeec' align='center'>0.0011</td>
      <td bgcolor='#eeeeec' align='right'>256816</td>
      <td bgcolor='#eeeeec'>{main}(  )</td>
      <td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
</tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr>
      <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Illegal string offset 'refP' in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>17</i></th>
</tr>
<tr>
     <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr>
     <th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th>
     <th align='left' bgcolor='#eeeeec'>Function</th>
     <th align='left' bgcolor='#eeeeec'>Location</th>
</tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td>
     <td bgcolor='#eeeeec' align='center'>0.0011</td>
     <td bgcolor='#eeeeec' align='right'>256816</td>
     <td bgcolor='#eeeeec'>{main}(  )</td>
     <td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
</tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr>
      <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Illegal string offset 'marqueP' in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>17</i></th></tr>
<tr>
      <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th>
</tr>
<tr>
      <th align='center' bgcolor='#eeeeec'>#</th>
      <th align='left' bgcolor='#eeeeec'>Time</th>
      <th align='left' bgcolor='#eeeeec'>Memory</th>
      <th align='left' bgcolor='#eeeeec'>Function</th>
      <th align='left' bgcolor='#eeeeec'>Location</th>
</tr>
<tr>
      <td bgcolor='#eeeeec' align='center'>1</td>
      <td bgcolor='#eeeeec' align='center'>0.0011</td>
      <td bgcolor='#eeeeec' align='right'>256816</td>
      <td bgcolor='#eeeeec'>{main}(  )</td>
      <td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
</tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr>
      <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Illegal string offset 'modeleP' in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>17</i></th></tr>
<tr>
      <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr>
      <th align='center' bgcolor='#eeeeec'>#</th>
      <th align='left' bgcolor='#eeeeec'>Time</th>
      <th align='left' bgcolor='#eeeeec'>Memory</th>
      <th align='left' bgcolor='#eeeeec'>Function</th>
      <th align='left' bgcolor='#eeeeec'>Location</th>
</tr>
<tr>
     <td bgcolor='#eeeeec' align='center'>1</td>
     <td bgcolor='#eeeeec' align='center'>0.0011</td>
     <td bgcolor='#eeeeec' align='right'>256816</td>
     <td bgcolor='#eeeeec'>{main}(  )</td>
     <td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
</tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr>
      <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Illegal string offset 'refP' in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>17</i></th>
</tr>
<tr>
       <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th>
</tr>
<tr>
      <th align='center' bgcolor='#eeeeec'>#</th>
      <th align='left' bgcolor='#eeeeec'>Time</th>
      <th align='left' bgcolor='#eeeeec'>Memory</th>
      <th align='left' bgcolor='#eeeeec'>Function</th>
      <th align='left' bgcolor='#eeeeec'>Location</th>
</tr>
<tr>
      <td bgcolor='#eeeeec' align='center'>1</td>
      <td bgcolor='#eeeeec' align='center'>0.0011</td>
      <td bgcolor='#eeeeec' align='right'>256816</td>
      <td bgcolor='#eeeeec'>{main}(  )</td>
      <td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
</tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-warning' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr>
     <th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: Illegal string offset 'refP' in C:\wamp\www\i48\inc\ajaxcateg.inc.php on line <i>17</i></th>
</tr>
<tr>
      <th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th>
</tr>
<tr>
      <th align='center' bgcolor='#eeeeec'>#</th>
      <th align='left' bgcolor='#eeeeec'>Time</th>
      <th align='left' bgcolor='#eeeeec'>Memory</th>
      <th align='left' bgcolor='#eeeeec'>Function</th>
      <th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr>
      <td bgcolor='#eeeeec' align='center'>1</td>
      <td bgcolor='#eeeeec' align='center'>0.0011</td>
      <td bgcolor='#eeeeec' align='right'>256816</td>
      <td bgcolor='#eeeeec'>{main}(  )</td>
      <td title='C:\wamp\www\i48\inc\ajaxcateg.inc.php' bgcolor='#eeeeec'>..\ajaxcateg.inc.php<b>:</b>0</td>
</tr>
</table></font>


En gros il me met toujours l'erreur JSON parse failed
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 16:39
Tu pourrais me faire une capture écran de la CONSOLE ( en te positionnant sur l'onglet REPONSE ) de ton ajax ???????


Au passage ... ne me colle pas le code HTML des erreurs .. c'est galère à lire !
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 16:41
et voila la capture

http://img11.hostingpics.net/pics/687721erro3.png
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 16:43
Changes la boucle comme ceci :
 while($R = $reqprod->fetch()){
  $result .="<tr><td>";
  $result .="<br /><hr /><br />
	          <h3 class='modifprod' value=".$R['refP']."'>".$R['marqueP']."__".$R['modeleP']." </h3><br />
						<button class='modifprod' 
						         onclick='if(confirm(\"Voulez-vous modifier ce produit?\")){document.location = \"specprod.php?refP=".$R['refP']."\"}'>
						  Modifier</button><br /><br /><br />
					  <button class='modifprod' 
						        onclick='if(confirm(\"Voulez-vous supprimer ce produit?\")){document.location = \"inc/delprod.inc.php?refP=".$R['refP']."\"}'>
										Supprimer</button><br /><br /><br />";
  $result .="</td></tr>";
 }


Je n'avais pas pensé que tu utilisais déjà une variable nommée $result ..... je te l'ai renommé en $R

0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 16:46
SA MARCHE !
pour smartphone mais pas le reste xD

http://img11.hostingpics.net/pics/285314magique.png
0
warbeast1000 Messages postés 56 Date d'inscription mardi 9 juin 2015 Statut Membre Dernière intervention 30 juin 2015
11 juin 2015 à 17:00
une idée de pourquoi sa marche qu'avec smartphone, je viens de faire et refaire le tour des scripts, et je ne vois rien de spécial ^^
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
11 juin 2015 à 17:03
ben je ne sais pas .. tu as des accents dans tes texte ?
0