IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Problème de récupération des valeurs d'une liste multiple en php


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 49
    Points
    49
    Par défaut [SQL] Problème de récupération des valeurs d'une liste multiple en php
    Bonjour à tous

    Mon problème est le suivant, je veux simplement récupérer les valeurs d'une liste multiple quand je soumet mon formulaire.

    En fait je récupère pas les valeurs de la liste, mais je récupère les occurences de la liste c'est vraiment étrange ce phénomène.


    Le principe de mon code c'est que je remplis ma liste dynamiquement en faisant une requête sql, jusqu'y ci pas de problèmes. Ensuite je click sur les valeurs que je veux supprimer en maintenant controle, pour faire une sélection multiple, ensuite je soumet le formulaire puis je parcours le tableau des valeurs que j'ai récupérer de la liste, c'est la que ça se complique je récupère les occurences au lieu des valeurs

    exemple dans ma liste j'ai les valeurs suivantes :

    1 : informatique
    2 : economy
    3 : santé
    4 : sport

    Admettant je sélectionne informatique et sport au lieu de récupéer 1 et 4, je récupère informatique et sport

    Voici mon code :

    Est ce quelqu'un peut me dire ou est mon erreur, merci

    <?
    // Fichier de configuration de la connexion de la base de donnée
    include("dbinfo.inc.php");

    // Chaine de requête pour la liste déroulante
    $reqSelectAllItem = "Select topic_id, topic_title from blg_topic Order by topic_title;";
    $rslt_selectAllItem = mysql_query($reqSelectAllItem,$connection);

    // Teste si la requête s'exécute bien
    if(!$rslt_selectAllItem)
    {
    echo 'requette à échoué';
    }


    // Le script se déclanche lorsque l'on clique sur le button envoyer
    if (isset ($_POST["submitButton"]))
    {

    // Si la liste toto renvoie des valeurs le script s'exécute
    if (isset($_POST["toto"]))
    {
    $tab = $_POST["toto"];
    $Nb = count($tab);
    printf("<br> nb item : %d",$Nb);



    for ($i=0; $i< $Nb ;$i++)
    {
    printf("<br> %d",$tab[$i]);

    }
    }

    ?>


    // Création de ma liste dinamique
    <select name="toto[]" size ="4" multiple>
    <? while ($rs_allItem = mysql_fetch_array($rslt_selectAllItem))
    {
    ?>
    <option =<? echo $rs_allItem["topic_id"];? > <? echo $rs_allItem["topic_title"];?> </option>

    <? } ?>
    </select>

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Yo !

    évite d'utiliser les short tags (<?) pour des raisons de compatibilité, utilise plutôt des <?php

    sinon ton problème viens de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option =<? echo $rs_allItem["topic_id"];? > <? echo $rs_allItem["topic_title"];?> </option>
    essaie plutôt ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="<?php echo $rs_allItem["topic_id"];? >"> <?php echo $rs_allItem["topic_title"]; ?> </option>
    Au fait, il est très "dangeureux" pour le site de faire afficher la valeur extraite de la BDD ainsi, je serais toi je rajouterais des htmlentities pour éviter tout problème d'accent ou de < > qui se balade :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="<?php echo htmlentites($rs_allItem["topic_id"]); ?>"><?php echo htmlentities($rs_allItem["topic_title"]); ?></option>
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/10/2009, 10h16
  2. Récupération des valeurs d'une liste déroulante
    Par Donkybanane dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/06/2009, 12h56
  3. Problème de récupérations de valeurs d'une base de données vers des jtextfields
    Par Dambrath dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 17/03/2009, 16h39
  4. Réponses: 14
    Dernier message: 20/11/2007, 18h28
  5. Réponses: 2
    Dernier message: 21/09/2007, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo