Ma requête AJAX de JS vers PHP ne fonctionne pas
Résolu/Fermé
JC_8280
Messages postés
78
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
7 février 2021
-
Modifié le 11 avril 2020 à 18:53
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 16 avril 2020 à 22:13
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 16 avril 2020 à 22:13
A voir également:
- Ma requête AJAX de JS vers PHP ne fonctionne pas
- Windows 7 vers windows 10 - Guide
- Round js ✓ - Forum Javascript
- Easy php - Télécharger - Divers Web & Internet
- Il est en cours de transport vers votre site de livraison ✓ - Forum Consommation & Internet
- Transferer photo android vers pc - Guide
21 réponses
JC_8280
Messages postés
78
Date d'inscription
jeudi 19 mars 2020
Statut
Membre
Dernière intervention
7 février 2021
16 avril 2020 à 18:17
16 avril 2020 à 18:17
Bonjour Jordane45,
J'ai encore un problème.
En fait, jusqu' à présent j' ai extrait de la table les éléménts que je voulais garder à l'affichage, et mon plan est de soustraire tous les autres de la table html, donc je veux soustraire cette liste d'une 2ème qui serait la liste du tableau complète. J'ai donc fait une deuxième requête de la liste complète, mais la soustraction me pose un problème.
Quelle fonction faut il utiliser car array_diff ne fonctionne pas, je ne comprends pas pourquoi.
Peut être que c'est parce que cene sont pas des arrays, mais des objets...
Peux tu aussi m'expliquer pourquoi tu utilise la variable $datas dans la requête?.
Cordialement.
JC
J'ai encore un problème.
En fait, jusqu' à présent j' ai extrait de la table les éléménts que je voulais garder à l'affichage, et mon plan est de soustraire tous les autres de la table html, donc je veux soustraire cette liste d'une 2ème qui serait la liste du tableau complète. J'ai donc fait une deuxième requête de la liste complète, mais la soustraction me pose un problème.
Quelle fonction faut il utiliser car array_diff ne fonctionne pas, je ne comprends pas pourquoi.
Peut être que c'est parce que cene sont pas des arrays, mais des objets...
Peux tu aussi m'expliquer pourquoi tu utilise la variable $datas dans la requête?.
Cordialement.
JC
<?php header("Content-Type: application/json; charset=UTF-8"); error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //--------------------------------------------------------------------------// // fonctions diverses... //--------------------------------------------------------------------------// function cleanDataPOST($dataToClean=NULL,$defaultValue=""){ $result = !empty($_POST[$dataToClean]) ? trim($_POST[$dataToClean]) : $defaultValue; $result = stripslashes($result); return $result; } //--------------------------------------------------------------------------// //connexion à la bdd //--------------------------------------------------------------------------// require_once "cnxbdd.php"; //--------------------------------------------------------------------------// // Variables .. //--------------------------------------------------------------------------// $VR = array(); $resultat = array(); $VR0 = cleanDataPOST("id"); $VR1 = cleanDataPOST("RefMag"); $VR2 = cleanDataPOST("familleOutil"); $VR3 = cleanDataPOST("SousFamille"); $VR4 = cleanDataPOST("Matiere"); $VR5 = cleanDataPOST("NbreZ"); $VR6 = cleanDataPOST("Dia1"); $VR7 = cleanDataPOST("Long1"); $VR8 = cleanDataPOST("Dia2"); $VR9 = cleanDataPOST("Dia3"); $VR10 = cleanDataPOST("LongUtile"); $VR11 = cleanDataPOST("LongTotale"); $VR12 = cleanDataPOST("Caract1"); $VR13 = cleanDataPOST("Caract2"); $VR14 = cleanDataPOST("Fournisseur"); $VR15 = cleanDataPOST("Ref_Fournisseur"); $VR16 = cleanDataPOST("Prix"); $VR17 = cleanDataPOST("QteMini"); $VR18 = cleanDataPOST("CasEmploi1"); $VR19 = cleanDataPOST("CasEmploi2"); $VR20 = cleanDataPOST("CasEmploi3"); $VR21 = cleanDataPOST("CasEmploi4"); $VR22 = cleanDataPOST("CasEmploi5"); $VR23 = cleanDataPOST("CasEmploi6"); // colonne de la table $VR = array ("id"=>$VR0, "REF_MAG"=>$VR1, "FAMILLE_OUTIL"=>$VR2, "SOUS_FAMILLE"=>$VR3, "MATIERE_OUTIL"=>$VR4, "NBRE_Z"=>$VR5, "DIA_1"=>$VR6, "LONGUEUR_1"=>$VR7, "DIA_2"=>$VR8, "DIA_3"=>$VR9, "LONG_UTILE"=>$VR10, "LONG_TOTALE"=>$VR11, "CARACT_1"=>$VR12, "CARACT_2"=>$VR13, "FOURNISSEUR"=>$VR14, "REF_FOURNISSEUR"=>$VR15, "PRIX"=>$VR16, "QTE_MINI"=>$VR17, "CAS_EMPLOI_1"=>$VR18, "CAS_EMPLOI_2"=>$VR19, "CAS_EMPLOI_3"=>$VR20, "CAS_EMPLOI_4"=>$VR21, "CAS_EMPLOI_5"=>$VR22, "CAS_EMPLOI_6"=>$VR23 ); $concat = "" ; $datas = array(); foreach($VR as $VRn => $VRn_value){ if($VRn_value !== ""){ $concat = $concat. 'AND '.$VRn. ' = :' .$VRn.' '; $datas[":" .$VRn] = $VRn_value; }; }; $condition = ltrim($concat,"AND"); //--------------------------------------------------------------------------// // REQUETE //--------------------------------------------------------------------------// $sql = 'SELECT id FROM cutting_tools_01 '; $fullList = $sql; $sql .= !empty($condition)? ' WHERE' . $condition : ""; try{ $requete1 = $connexion->prepare($sql); $requete1->execute($datas); $resultat1 = $requete1->fetchAll(PDO::FETCH_ASSOC); //echo $resultat2; }catch(PDOException $e){ echo 'ECHEC : ' .$e->getMessage(); } try{ $requete2 = $connexion->prepare($fullList); $requete2->execute(); $resultat2 = $requete2->fetchAll(PDO::FETCH_ASSOC); //echo $resultat2; }catch(PDOException $e){ echo 'ECHEC : ' .$e->getMessage(); } //--------------------------------------------------------------------------// //calcul des éléments a retirer du tableau //--------------------------------------------------------------------------// $resultat=array_diff_assoc($resultat2,$resultat1); // print_r ($resultat); // ,'resultat1'=>$resultat1,'resultat2'=>$resultat2 //--------------------------------------------------------------------------// //on renvoi la réponse au script ajax au format json //--------------------------------------------------------------------------// //echo $result; echo json_encode(array('resultat'=>$resultat,'sql'=>$sql,'datas'=>$datas));
16 avril 2020 à 22:13
Je n'avais pas vu ta question... en effet, lorsqu'elle est marquée comme "résolue" je ne la surveille plus.
Quoi qu'il en soit, il est préférable, lorsqu'il s'agit d'une nouvelle question.. d'ouvrir une nouvelle discussion.
Cela permet plus facilement de retrouver les discussions dans le forum en cas de recherche.
Jet 'invite donc à ouvrir une nouvelle discussion pour ce nouveau souci.
Pense au passage à expliquer en détail ta "logique".
Je ne vois pas pourquoi tu veux soustraire ... alors qu'il serait plus simple de faire une requête "inverse".
Au lieu de chercher les lignes qui correspondent aux criètres.. tu ne prends que les lignes qui ne "correspondent" pas aux critères