begin process at 2012 05 31 02:41:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste


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

Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste

mardi 26 août 2008 à 14:28:32 | Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste

stark_2097

Salut à tous

Me revoilà avec un nouveau problème.

J'ai deux listes déroulantes alimentées par SQL que je nomme "conditionnelles" car le fait de choisir une option de la première liste fait varier le contenu de la seconde liste.

Le résultat de la sélection de ces 2 listes vient s'enregistrer dans ma base SQL. Pour celà, je dois définir un "name" à chacune des listes pour que celà s'enregistre dans le bon champ de ma base.

Voiçi le script utilisé, il est en deux parties :

include "admin/configbdd.php";
function AfficherType($id)
{
$reponse = new xajaxResponse();//Création d'une instance de xajaxResponse pour traiter les réponses serveur

$type='';// Initialisation de la variable $type
//la selection des types de codes selon l'ID de la console choisie
$req = mysql_query("SELECT `Consoles_ID`,`Nom` FROM `Typescodes` where Consoles_ID= ".$id." ORDER BY Nom") or die(mysql_error());

$type .='<select name="Typescodes_ID" id="Typedecodes">'; // on commence la declaration de la liste des types de codes
$type .='<option value="00">Selectionnez un type de code</option>';

  while($array = mysql_fetch_array($req))
{

               $type .='<option value="'.$array['Nom'].'">'.$array['Nom'].'</option>';
              
}

$type .='</select>';

$reponse = new xajaxResponse('ISO-8859-1');
$reponse->addAssign("affType","innerHTML",$type); // affichage du contenu de $type (la liste des types de codes) dans le div affType
return $reponse->getXML();
}

require("xajax.inc.php");
$xajax = new xajax(); //On initialise l'objet xajax
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();
$xajax->registerFunction("AfficherType");
$xajax->processRequests();//Fonction qui va se charger de faire les requetes APRES AVOIR DECLARER NOS FONCTIONS
?>

Cette partie doit définir le contenu de la seconde liste en fonction du choix qui sera fait dans la première, en rouge, j'ai ajouter un "name=" mais il n'a aucun effet, la bdd enregistre toujours des zéros.

Ma page de la validation comporte ce code :
$sql = "INSERT INTO Codes
VALUES('','$Consoles_ID','$Regions_ID','$Typescodes_ID','$Nomdujeu','$Idjeu','$Cheats','$Source_ID')";

Tous les autres champs s'enregistre correctement sauf celui là....
A noter si ça a sont importance, comme je le disais, le code pour les listes est en 2 partie, la première partie ci-dessus qui est avant le header, et la seconde à l'endroit de la page ou je veux mes listes déroulante (donc dans le body). Et à savoir que dans mon cas, la première partie est dans ma page principale alors que le second morceaux est dans une page en "include"... je sais pas si ça peut jouer, le script lui fonctionne donc je sur pas sur mais je préfère vous donner toutes les infos.

Pour finir, je vous mets le second bout de code des liste des fois que je place pas le "name=" au bon endroit... :
<p><label class="left">Choix de la console :</label>

        <?
        $req = mysql_query("SELECT `ID`,`Nom` FROM `Consoles` ORDER BY Nom") or die(mysql_error());
        ?>
        <select name="Consoles_ID" id="dept" onChange="xajax_AfficherType(document.getElementById('dept').value);">
        <option value="00">Sélectionnez une console </option>
        <?php
         while($array = mysql_fetch_array($req))
         {
         ?>
                  <option value="<?php echo ($array['ID']); ?>"><?php echo ($array['Nom']); ?></option>
                  <?php
                  }
                  ?>
                  </select>
                  <div id="affType"></div>
        </p>

En rouge le "name=" ajouter à ce second bout de code qui lui fonctionne.
Merci d'avance

mardi 26 août 2008 à 15:47:17 | Re : Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste

stark_2097

J'ai peut être une piste :
Dans la sélection de ma seconde liste (permier bout de code), je choisissait juste le nom (pas l'ID) donc celà devais me renvoyer le nom en valeur et pas l'ID...
Du coup le champ "Typescodes_ID" de ma base qui est en tinyint ne devait pas pouvoir enregistrer ce qui lui était proposé car pas des chiffres

Alors j'ai entrepris de modifier la liste concerné :

$type .='<option value="'.$array['Nom'].'">'.$array['Nom'].'</option>';
en
$type .='<option value="'.$array['ID'].'">'.$array['Nom'].'</option>';

Ma liste fonctionne toujours aussi bien mais toujours pas d'enregistrement correct dans le champ "Typescodes_ID" de ma base (toujours des zéros).
Je continu à chercher, je sens que je chauffe
jeudi 11 septembre 2008 à 12:09:27 | Re : Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste

sidf

salut
je me demande s'il ne faudrait pas mettre un conteneur
<form>...</form> pour intégrer le select  ?...
vendredi 12 septembre 2008 à 15:05:48 | Re : Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste

stark_2097

Salut, merci pour ta réponse.
Apparement, il y a déjà le conteneur "form"... j'ai copié l'intégralité du code des fois que ce soit plus parlant.
Par contre du coup, je vois pas la balise de fin de form </form>.... bizarre car tout fonctionne (sauf mon petit problème...).

Pour trouver l'erreur plus facilement, je me demandais s'il y avait moyen d'afficher à l'écran les données plutot que de les enregistrer dans la base...
Comme ça je remplie mon formulaire, et quand je valide, ça m'affiche une page reprennant les données saisies...
Et comme ça je verrais ce qui cloque pour typescodes_ID, soit j'ai rien et c'est le "name" qui marche pas, soit j'ai le nom du type de codes donc le "name" fonctionne mais ce n'est pas les bonnes données qui sont envoyées à la base (je veux récupérer l'ID et pas le nom), soit ça s'affiche bien et là je comprend plus rien

Si cette possibilité existe, il ya moyen de m'aiguiller un peu sur la démarche à suivre car je connais rien de rien au PHP, je me contente de recopier des codes et scripts tous prêts et de les modifier légèrement suivant mes besoins... je comprend très basiquement le fonctionnement mais ç'est tout...

Merci d'avance


<!-- BLOC PAGE PRINCIPALE -->
      <div class="main-content">
       
        <!-- Titre de la Page -->
        <h1 class="pagetitle">Gestion des codes</h1>

        <!-- Contenu -->
        <h1 class="block">Ajouter codes</h1>
         <div class="column1-unit">
         <div class="contactform">
       
        <form action="includes/valideajoutcode.php" method="post">
        <fieldset>
        <p><label class="left">Choix de la console :</label>

        <?
        $req = mysql_query("SELECT `ID`,`Nom` FROM `Consoles` ORDER BY Nom") or die(mysql_error());
        ?>
        <select name="Consoles_ID" id="dept" onChange="xajax_AfficherType(document.getElementById('dept').value);">
        <option value="00">Sélectionnez une console </option>
        <?php
         while($array = mysql_fetch_array($req))
         {
         ?>
                  <option value="<?php echo ($array['ID']); ?>"><?php echo ($array['Nom']); ?></option>
                  <?php
                  }
                  ?>
                  </select>
                  <div id="affType"></div>
        </p>
        <br>
        <p><label for="Nomdujeu" class="left">Nom du jeu :</label>
           <input type="text" name="Nomdujeu" class="field" value="" tabindex="1" /></p>
           <br>
        <p><label class="left">Région : </label>
        <select name="Regions_ID">
           <?
        $db = mysql_connect('localhost', '****', '*****');
              mysql_select_db('cfccardb',$db);

        $SQL = "SELECT * FROM Regions";
        $res = mysql_query($SQL);
        echo '<option value="" >Choisir une Région</option>';
        while($val=mysql_fetch_array($res)) {
        echo "<option  value='". $val["ID"]. "'.>".$val["Nom"]."</option>\n";
         }
         ?>
         </select>
         </p>
         <br>
        <p><label for="Idjeu" class="left">ID du jeu :</label>
           <input type="text" name="Idjeu" class="field" value="" tabindex="1" /></p>
           <br>
        <p><label for="Cheats" class="left">Codes :</label>
           <textarea name="Cheats" cols="45" rows="10"tabindex="5"></textarea></p>
           <br>
        <p><label class="left">Source : </label>
        <select name="Source_ID">
        <?
        $db = mysql_connect('localhost', '****', '******');
              mysql_select_db('cfccardb',$db);

        $SQL = "SELECT * FROM Sources";
        $res = mysql_query($SQL);
        while($val=mysql_fetch_array($res)) {
         echo "<option  value='". $val["ID"]. "'.>".$val["Nom"]."</option>\n";
         }
         ?>
        </select>
        </p>
        <p><input type="submit" class="button" value="Ajouter" tabindex="6" /></p>
        </fieldset>
       
        </div>
        </div>
        <hr class="clear-contentunit" />

        <h1 class="block">Liste des Codes</h1>
        <div class="column1-unit">


        </div>
        <hr class="clear-contentunit" />

       </div>

samedi 13 septembre 2008 à 22:16:55 | Re : Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste

stark_2097

Me revoilà,

Donc j'ai écrit une nouvelle page PHP pour afficher les données saisies plutôt que de les enregistrer dans la base de données.

Le résultat est le suivant, rien ne s'affiche pour "Typescodes_ID".
J'ai tenté de placer le "name=Typescodes_ID" à plusieurs endroit mais toujours sans succès....
lundi 15 septembre 2008 à 16:16:13 | Re : Problème sur listes déroulantes conditionnelles, je n'arrive pas à définir un "name" à la seconde liste

stark_2097

Réponse acceptée !
Problème résolu.....
J'ai repris le codes à zéro et j'ai seulement modifié le strict minimum pour l'adapter à mon site.. et ça marche

Je sais pas trop ce que j'avais bien pu changer la première fois qui faisait bugger le script (qui marchait toujours très bien d'ailleurs).
au passage j'en ait profiter pour fermer la balise </form> qui trainait.


Cette discussion est classée dans : type, liste, id, name, xajax


Répondre à ce message

Sujets en rapport avec ce message

lien du type nom.php?id=x [ par apego ] Bonjour,Je débute et je n'arrive pas à cerber ce que représentent les caractères qui suivent les url ...... je m'explique :Pour ce lien :http://www.ph Liste déroulante simple en php [ par genfy ] Je dispose d'une base de données mysql avec plusieurs enregistrements et d'une page php (page.php) qui selon d'ID saisie affiche mes différentes donné liste deroulante tjrs [ par cobrachris ] Bonjour,J'ai encore un problème par rapport à la récupération de données dans une BDD pour alimenter une liste déroulante.J'ai insérer le code dans ma champs [ par one_piece ] salut a tous!! mon pb est le suivant: je souhaite creer une base de donnée composée de 2 champs un qui servirai d'identification et un autre qui conti Envoyer un formulaire sur 2 pages [ par shsfire ] Alors mon problème est le suivant :j'ai mon formulaire on rentre des infos et lorsqu'on envoie je voudrais que le formulaire soit envoyé en target _se Probleme avec les repertoire !!!!!! [ par rich25200 ] Bonjour, J'ai ce code (voir ci dessous) qui considere que je n'ai que des fichiers sur mon repertoire !! Meme s'il y a un repertoire il le prend comm liste deroulante [ par kelkune ] je galere pr recuperer les resultat de mes lsite deroulante si quelqu'un peum'aider ca serait vriament genial surto u que ca urge assez voila en fait liste deroulante [ par kelkune ] je galere pr recuperer les resultat de mes lsite deroulante si quelqu'un peum'aider ca serait vriament genial surto u que ca urge assez voila en fait Requete sur base de données et lien entre deux select relié [ par fredo35m ] Bonjour, j'ai un petit problème entre deux selects liés. En effet, l'utilisateur doit faire un choix dans une 1ère liste (liste prédefinie). Une fois problème avec les if et les else... [ par sebmayer ] Bonjour,voila j'ai créé un petit programme pour uploader mes images, mais j'ai un petit problème avec mes vérifications de champs (les else et les if.


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 : 0,546 sec (3)

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