dodo1309
Messages postés218Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention30 mai 2011
-
10 août 2008 à 20:38
dodo1309
Messages postés218Date d'inscriptionmercredi 17 mai 2006StatutMembreDernière intervention30 mai 2011
-
10 août 2008 à 22:21
hello,
je suis entrain de faire deux combo liée ( quand on choisi une option dans l'une l'autre se met a jours en fonction d'une requette mysql)
Mon problème est que la requette ne renvoie que des résultats que pour les 2 dernieres options de la combobox.
Voici le code de Index.php ( qui contient du code ajax). Je pense que cela peut venir d'un problème d'accents mais je ne sait pas comment le résoudre (si c'est sa )
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
/**
* Permet d'envoyer des données en GET ou POST en utilisant les XmlHttpRequest
*/
function sendData(param, page)
{
if(document.all)
{
//Internet Explorer
var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ;
}//fin if
else
{
//Mozilla
var XhrObj = new XMLHttpRequest();
}//fin else
//définition de l'endroit d'affichage:
var content = document.getElementById("contenu");
XhrObj.open("POST", page);
//Ok pour la page cible
XhrObj.onreadystatechange = function()
{ if (XhrObj.readyState 4 && XhrObj.status 200)
content.innerHTML = XhrObj.responseText ;
}
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
XhrObj.send(param);
}//fin fonction SendData
<?php
// affichage des sous-catégorie appartenant à la première catégorie.
echo "<select size='1' name='souscat'>";
echo "</select>";
?>
</form>
</html>
et le code de ajax.php
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
// test des POST emis
if(isset($_POST['id']) && !empty($_POST['id']) ){
$user="**********";
$host="sql.olympe-network.com";
$password="**********";
$database="jeuxenfants";
$connexion = mysql_connect($host,$user,$password) or die ("Connexion au serveur impossible");
mysql_select_db($database,$connexion);
if ($_POST['id']=='Tout les types') $rq='Select * from jeux'; else $rq='Select * from jeux where type=\''. utf8_encode($_POST['id']).'\'';
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 10 août 2008 à 20:51
Bonsoir,
tout d'abord requête s'écrit avec un seul "t" et un un "ê", et accessoirement "ça" c'est pas avec un "s".
Ensuite oui ça vient de tes accents. Si ton fichier index.php est bien encodé en utf8 (vérifie dans ton éditeur de texte), tu n'as pas besoin de faire utf8_encode dans ajax.php. Donc essaie d'enlever et regarde si ça marche.
En général on évite de mettre des chaînes comme valeur dans value des select, on met plutôt des identifiants numériques qui correspondent à la valeur dans la base de données (plus pratique et plus rapide pour MySQL).