Bonjour
Je suis débutant en JavaScript et j’apprends en autodidacte par l’exemple donc désolé s’il y a une (des) grosse(s) bêtise(s) dans mon code ou ma logique de codage
Mon problème est, je pense, à la croisé entre le JavaScript et le MySQL, mais je pencherai plus pour un Pb JavaScript donc je dépose ma demande sur ce forum.
J’expose l’environnement qui me pose problème :
Je développe actuellement un site qui a pour page d’accueil un formulaire avec des listes déroulantes.
Sur chaque liste je fais une détection onclick="***" qui exécute un JavaScript, qui récupère la (les) valeur(s) saisi dans le formulaire pour créer une requête du type :
Code :
SELECT element1 FROM `table1`,`table2` WHERE `element2` = 'Valeur sélectionner dans la liste' AND `table1. ID` = `table2.ID`;
Une fois la requête créée je fais ;
Code Javascript :
larequete="SELECT element1 FROM `table1`,`table2` WHERE `element2` = 'Valeur sélectionner dans la liste' AND `table1. ID` = `table2.ID`;";
var xhr_object = null;
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}
xhr_object.open("POST", "executionRequete.php", true);
xhr_object.onreadystatechange = function()
{
if(xhr_object.readyState == 4){ eval(xhr_object.responseText);}
}
xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = 'requete='+requetedata+'&select=NbResult';
xhr_object.send(data);
Dans le fichier executionRequete.php je fais :
Code PHP :
<?php
mysql_connect ('*** :***', '***', '***');
mysql_select_db ('***', $base);
$query =$_POST['requete'];
$result = mysql_query($query);
if(!$result)
{
echo 'var s = document.forms["formulaire"].elements["NbResult"];';
echo 's.options.length = 0;';
echo 's.options[s.options.length] = new Option("");';
echo 's.options[s.options.length] = new Option("'.$query.'");';
echo 's.options[s.options.length] = new Option("false");';
}
else
{
echo 'var o = null;';
echo 'var s = document.forms["formulaire"].elements["NbResult"];';
echo 's.options.length = 0;';
echo 's.options[s.options.length] = new Option("");';
$r = mysql_fetch_array($result);
echo 's.options[s.options.length] = new Option("'.$query.'");';
echo 's.options[s.options.length] = new Option("true");';
echo 's.options[s.options.length] = new Option("'.$r['element1'].'");';
}
mysql_close();
?>
J’ai mis ce test pour afficher la requête ainsi que le résultat du mysql_query, et il retourne toujours faux, mais la requête est bien écrite sur ma page.
Or, lorsque je remplace la 4eme ligne du fichier executionRequete.php par :
Code PHP :
<?php
$query = " SELECT element1 FROM `table1`,`table2` WHERE `element2` = 'Valeur sélectionner dans la liste' AND `table1. ID` = `table2.ID`;";
?>
Ça fonction niquel.
Est-ce que quelqu’un a déjà eu le problème est saurai m’aider?

PS : j’ai déjà tenter de faire du "serialize"->"unserialize" pour le passage de donnée, ainsi faire un strval($query) ou du $query= "".$query.