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 :

Parcours des données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut Parcours des données
    Bonjour à tous,

    J'ai deux listes déroulantes qui sont crées avec une seule requête PHP.

    J'ai lu dans un précédent POST que pour remettre le résultat des recherches à zéro, on utilise mysql_data_seek() c'est ce que j'ai fais, mais dans ma deuxième liste déroulante tout y est, mais un premier choix vide s'y ajoute.

    Avez-vous une idée ? Voici du code pour vous aider.

    Ma requête SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // On demande la liste des postes disponible
    mysql_select_db($database_productionsfx, $productionsfx);
    $req_liste_poste = "SELECT id_candidature, nom_poste FROM type_candidature ORDER BY nom_poste";
    $dem_liste_poste = mysql_query($req_liste_poste, $productionsfx) or die(mysql_error());
    $row_liste_poste = mysql_fetch_assoc($dem_liste_poste);
    Ensuite voici les deux cellules du tableau du formulaire ou sont les listes déroulantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <tr>
        <td width="25%" align="right" style="border-bottom:1px solid #fff">Pour quel poste :</td>
        <td width="75%" align="left"  style="border-bottom:1px solid #fff">
            <select name="poste_1" size="1" id="poste_1">
            <?php do { ?>
                <option value="<?= $row_liste_poste['id_candidature']; ?>"<?php if ($_SESSION['form']['poste_1'] == $row_liste_poste['id_candidature']) echo "selected='selected'"; ?>><?= stripslashes($row_liste_poste['nom_poste']); ?></option>
            <?php } while ($row_liste_poste = mysql_fetch_assoc($dem_liste_poste)); ?>
            </select> (Premier choix)
        </td>
    </tr>
    <tr>
        <td align="right" style="border-bottom:1px solid #fff">Pour quel poste : </td>
        <td align="left"  style="border-bottom:1px solid #fff">
            <select name="poste_2" id="poste_2">
            <?php 
    		mysql_data_seek($dem_liste_poste,0);
    		do { 
    	?>
                <option value="<?= $row_liste_poste['id_candidature']; ?>"<?php if ($_SESSION['form']['poste_2'] == $row_liste_poste['id_candidature']) echo "selected='selected'"; ?>><?= stripslashes($row_liste_poste['nom_poste']); ?></option>
            <?php 
    		} while ($row_liste_poste = mysql_fetch_assoc($dem_liste_poste)); 
    	?>
             </select> (Second choix)
        </td>
    </tr>
    Ensuite si je fais afficher le code source dans ma page WEB, voici ce que j'ai pour la seconde liste :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <tr>
        <td align="right" style="border-bottom:1px solid #fff">Pour quel poste : </td>
        <td align="left"  style="border-bottom:1px solid #fff">
            <select name="poste_2" id="poste_2">
                <option value=""selected='selected'></option>
                <option value="5">Acteur(s)</option>
                <option value="1">Éclairagiste</option>
                <option value="6">Opérateur / son</option>
                <option value="3">Producteur</option>
                <option value="4">Réalisateur</option>
                <option value="2">Scénariste</option>
            </select> (Second choix)
        </td>
    </tr>

    Merci de votre aide et support

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Personnellement, je ne suis pas une fan des do/while pour parcourir les résultats d'une requête (surtout pour gérer le cas où il n'y a pas de résultats...)

    En l'occurrence, je dirais qu'il faut que tu rajoutes la lecture de la 1ere ligne avant ton 2e do.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    Hello,

    Merci pour ta réponse.

    Que me suggères-tu d'utiliser afin de parcourir mes données ?
    Si je peux optimiser mon code, ou encore faire un amélioration, je suis partant.

    Merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/09/2011, 09h59
  2. Réponses: 3
    Dernier message: 06/05/2008, 14h09
  3. Parcours des fils de noeuds donnés
    Par Premium dans le forum C
    Réponses: 4
    Dernier message: 25/11/2006, 22h51
  4. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15
  5. Réponses: 2
    Dernier message: 18/12/2002, 10h30

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