begin process at 2012 05 30 18:18:25
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

pb requette mysql


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb requette mysql

dimanche 10 août 2008 à 20:38:28 | pb requette mysql

dodo1309

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

    </script>
</head>
<body>

<?php  
   $i=0;
   $j=0;
      
 
       echo "<form method='POST' action='ajax.php'>";
?>  


    <select size="1" name="cat" OnChange="sendData('id='+this.value,'ajax.php')" onKeyUp="sendData('id='+this.value,'ajax.php')">
<?php
       echo '<option value="Jeux calme intérieur">'.htmlentities(stripslashes('Jeux calme intérieur')).'</option>';
       echo '<option value="Jeux calme extérieur">'.htmlentities(stripslashes('Jeux calme extérieur')).'</option>';
       echo '<option value="Jeux actif intérieur">'.htmlentities(stripslashes('Jeux actif intérieur')).'</option>';
    echo '<option value="Jeux actif extérieur">'.htmlentities(stripslashes('Jeux actif extérieur')).'</option>';
    echo '<option value="Jeux Coopératif">'.htmlentities(stripslashes('Jeux Coopératif')).'</option>';
    echo '<option value="Jeux Sportif">'.htmlentities(stripslashes('Jeux Sportif')).'</option>';
    echo '<option value="Tout les types">'.htmlentities(stripslashes('Tout les types')).'</option>';
 
?>   

   </select><br><br>
   <div id="contenu">
  <?php 
  // affichage des sous-catégorie appartenant à la première catégorie.
   echo "<select size='1' name='souscat'>";  
   
    echo "</select>";
   ?>  
   </div>
</form>
</body>
</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']).'\'';
  
    echo  $rq .'<br>';
    mysql_query("SET NAMES UTF8");
    $result= mysql_query ($rq);
    
   
    $i=0;
   
    echo  mysql_num_rows($result) .'<br>';
   
    if (mysql_num_rows($result)>0)
    {
      echo "<select size='1' name='souscat'>";
    }
    else
    {
      echo utf8_encode("Pas de sous catégories disponible");   
    }
    while ($dt=mysql_fetch_row($result))
    {    
     echo "<option value=".utf8_encode($dt[0]).">".utf8_encode($dt[1])."</option><br>";
    }   
    echo "</select>";
}

?>
</html>


et le contenu de la table jeux (faites pas attention aux valeurs):

idnomtypenbredureeexplivarimatos



1pehce à piads Jeux calme intérieur21315i? fqfsdqsdfqéééé 



2hihiJeux Coopératif14720testtesdt 



3sfJeux actif intérieur456123fqfnkqfùkqnfnqsùkfnùqsf
qsdqµsflq,sdf
ùqndfqnsdf...
smùnrfgmqsng
gmsngµsdfg
µgnsµfg
sgsmfgnsf
gsfn...
 



4testJeux Coopératif1352fsfsqfsdfsfballe



5sdfsdJeux Sportif545784SDSFSDFSDSDFSF



6sdfsdJeux Sportif545784SDSFSDFSDSDFSF



7fssdfJeux actif extérieur1315sdfdfqdfsdfdhjfgjh




8fdsfJeux actif extérieur5189sdfsdfsdffsfgsdf
Merci d'avance

@ dodo1309




dimanche 10 août 2008 à 20:51:19 | Re : pb requette mysql

Evangun

Réponse acceptée !
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).

à+
dimanche 10 août 2008 à 22:21:45 | Re : pb requette mysql

dodo1309

merci d'avoir répondu et résolu mon problème

(sorry pour l'orthographe mais je suis anglais  et je parle un peu le français )

@+


Cette discussion est classée dans : mysql, jeux, post, echo, xhrobj


Répondre à ce message

Sujets en rapport avec ce message

Problème avec un soit disant moteur de recherche lol [ par gssk ] Au fait j'ai fait un "moteur de recherche" (code pourrave je le sais merci !!), et je n'ai que d erreur de variables indéfini! tels que Mot,idM,nomM e multiple insertion dans mysql via un formulaire php [ par wizard512 ] je suis entrain d'éllaborer un script qui permet de multiple insertion dans mysql via un formulaire php.. mais je bloque pour la dernière étapes, quel récupérer une variable après affichage d'un echo ?? [ par bidulesfr ] Salut, Aujourd'hui je suis tombé sur un os. Je m'explique: Je fais un menu déroulant, et la liste va etre cherché dans une premiere table de mysql et horreur!! pb page admin!! [ par justine75 ] bonjour!j'ai un petit problème avec ma page administration de mon siteen effet, les données de ma table "rat" s'affiche tres bien mais lorsque je veux pb triple liste déroulante [ par ahcorad ] Voila ma triple liste déroulante ne fonctionne pas !les deux premières fonctionnenent bien mais pas la dernière ! ça ne fonctionne toujours pas ! je n probleme avec mes sessions! [ par drmatox ] bonjour a vous, je suis trankillement installer dans mon fauteuil et je commence mon script de session, bon bien sur c'est pas simple mais on a connu problème avec $_POST['recherche_id'] [ par Batman60 ] Bonjour je suis débutant en PHP j'ai un problème avec $_POST[]quand j'actionne sans avoir rempli le </fo probleme pour recuperer les valeurs de mon menu déroulant [ par kensonlia ] bon voila j'ai un script php d'insertion dans une base je fais des tests  mais chaque fois elle m'affiche un message d'erreur que j'ai definie je vois Problème de $_POST [ par sagaff ] Bonjours, j'ai un problème avec ce code, en effet lorsque qu'on clique sur le input de validation ()  rien ne se passe, j'ai page blanche, si je met u Requête SQL [ par bakalai ] Bonjour, <


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,385 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales