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
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
A voir également:
- Afficher des produits en fonction de la catégorie (Ajax-PHP)
- Fonction si et - Guide
- Clé de produit windows 10 - Guide
- Afficher une image en php ✓ - Forum PHP
21 réponses
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
9 juin 2015 à 17:37
9 juin 2015 à 17:37
Bonjour,
Il nous faudrait également ton code javascript...
Il nous faudrait également ton code javascript...
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
9 juin 2015 à 17:43
Oui pardon omission de ma part ^^ voila voila !
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 )
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 )
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
9 juin 2015 à 17:46
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
Et pour finir .. ton code HTML de la page où tu veux afficher ta liste
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
Modifié par jordane45 le 9/06/2015 à 17:53
Je souhaite appeler mes produits via un select en sql et une boucle while
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
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
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
9 juin 2015 à 17:53
ps: cela affiche mes produits, dérivés de la catégories appelé dans la boucle
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
9 juin 2015 à 17:58
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....
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;
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
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
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
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
9 juin 2015 à 19:53
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
il faut tout de même un endroit dans ta page... où le mettre. ..
donc.. MONTRE NOUS le code HTML de ta page
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
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
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
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 !
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 10:03
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)
Script PHP ajax
et pour appeller la fonction javascript AJAX .. il suffit de faire par exemple:
... ou encore.. dans un SELECT (une liste déroulante HTML )
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>';
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
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 :
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
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
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 10:41
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.
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
11 juin 2015 à 10:44
D'accord,
Bon bah je fais tout sa, et je vous tiens au courant, merci pour toute ces explications !
Bon bah je fais tout sa, et je vous tiens au courant, merci pour toute ces explications !
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
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 ?
Est-ce que mon script AJAX-PHP doit être appeler dans la même page que l'affichage, ou être include ?
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
>
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
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
pour y mettre..... le chemin vers le script PHP de ton ajax.....
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.....
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
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à :
- 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";
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 11:10
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)
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
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 ?
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 11:48
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.
=> Sachant que l'appel... se fait dans le ONCHANGE de ton SELECT.
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
11 juin 2015 à 11:57
je ne vois nul part l'apart du fichier contenant l'appel de l'ajax-php :/
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
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.
.
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 12:09
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é:
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.
=> 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 !! )
ç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 !! )
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
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 ^^
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 12:19
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 !
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
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
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
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 12:29
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)
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); } }
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
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
error:Requested JSON parse failed
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
11 juin 2015 à 13:04
ps: non l'ancien code à été retiré
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 14:29
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.
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.
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
Modifié par warbeast1000 le 11/06/2015 à 14:52
euh la il me dis qu'il y a une
Alors la je sais pas du tout
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
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 14:40
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 ????.
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 ????.
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
11 juin 2015 à 14:48
Oui pardon, je me familiarise pas encore ^^
Voila l'erreur (en photo)
http://img11.hostingpics.net/pics/440345errajax.png
Voila l'erreur (en photo)
http://img11.hostingpics.net/pics/440345errajax.png
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
11 juin 2015 à 14:52
ah voila le code est mieux au dessus
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 14:58
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
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
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
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
Parce que la version de JQuery que j'ai est la 1.11.3
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
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
il me reste l'erreur xhr, et le fais que la table ne s'affiche pas
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 15:16
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 !
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 !
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
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
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
11 juin 2015 à 15:21
Oui mais par firebug c'est sa qu'il me donne, ce que j'ai mis au dessus
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.
[/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.
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 15:32
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 :
... 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 :
=> Tout dépend dans quel répertoire tu as placé ton script Php ajax... par rapport à ton fichier de connexion....

... 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....
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
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 ?
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 ?
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 15:47
11 juin 2015 à 15:47
qui m'affiche sa désormais
Ok..
et qu'y a t'il dans l'onglet REPONSE ?
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
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
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
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
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
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 16:02
11 juin 2015 à 16:02
Le message d'erreur est :
.. une faute de frappe s'est glissée lorsque j'ai écrit le code ...
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); ?>
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
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
alors que pour Smartphone, qui est sensé être identique
il me remet des erreurs
En gros il me met toujours l'erreur JSON parse failed
</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
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 16:39
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 !
Au passage ... ne me colle pas le code HTML des erreurs .. c'est galère à lire !
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
11 juin 2015 à 16:41
et voila la capture
http://img11.hostingpics.net/pics/687721erro3.png
http://img11.hostingpics.net/pics/687721erro3.png
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 16:43
11 juin 2015 à 16:43
Changes la boucle comme ceci :
Je n'avais pas pensé que tu utilisais déjà une variable nommée $result ..... je te l'ai renommé en $R
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
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
11 juin 2015 à 16:46
SA MARCHE !
pour smartphone mais pas le reste xD
http://img11.hostingpics.net/pics/285314magique.png
pour smartphone mais pas le reste xD
http://img11.hostingpics.net/pics/285314magique.png
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
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 ^^
jordane45
Messages postés
37539
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 juin 2023
4 588
11 juin 2015 à 17:03
11 juin 2015 à 17:03
ben je ne sais pas .. tu as des accents dans tes texte ?