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 :

affichage d'un tableau lié à une liste déroulante


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Par défaut affichage d'un tableau lié à une liste déroulante
    Bonjour,

    J'ai placé dans mon site une liste déroulante (alimentée par la table mysql "defile") qui contient la date de 2 défilés. Elle est censée permettre de sélectionner une date pour afficher :
    1/ la date sélectionnée
    2/ un tableau contenant la liste des chars pour cette date.
    C'est là que ça se complique. La liste par défaut s'affiche mais quand on sélectionne une date, plus rien !

    => num : est le numéro du défilé (1 ou 2)
    => ladate : date des défilé (format texte)

    Je suis autodidacte en php et là, j'ai atteint mes limites.
    Si quelqu'un pouvait m'aider...

    le code :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <td height="26" bgcolor="#F8BA05" class="normal"><div align="center">
    <form method="post">
    <span>Sélectionnez une date</span>
    <select name="choix">
    <?php include("connexion/connexion.php");?>
    <?php
    $SQL = "SELECT * FROM defile GROUP BY num ORDER BY num ASC";
    $res = mysql_query($SQL);
     {
       while($val=mysql_fetch_array($res)) {
       echo "<option>".$val['ladate']."</option>\n"; //defini les valeurs de la liste déroulante
       }
            if ($choix == $val['ladate']) {  //si une date est selectionnee, l'enregistrement apparait
                echo '<option value="' . $val['ladate'] . '">' . $val['ladate'] . '</option>';
            } else {
                echo '<option value="' . $val['ladate'] . '">' . $val['ladate'] . '</option>';
            }
        }?>
    </select>
    <input name="submit" type="submit" value="OK" />
    </form>
               </div></td>
                               </tr>
                                    </table>
                                      <table width="98%" border="0" cellspacing="0" bgcolor="#000000">
                                        <tr>
                                          <td height="33" align="center" valign="middle" class="Grand">
    <?php 
    // sélectionne toutes les fiches de la table
    	if ($choix) {
        $query = mysql_query("SELECT * FROM defile WHERE ladate ='$choix';") or die (mysql_error());
    	$data = mysql_fetch_array($query);
        echo '<td align="center" class="Grand"><b>' . $data['ladate'] . '</b></td>' ;
    	}
    	else
    	{
        $query = mysql_query("SELECT * FROM defile WHERE ladate =(SELECT MIN(ladate) FROM defile) ;") or die (mysql_error());
        $data = mysql_fetch_array($query);
        echo '<td align="center" class="Grand"><b>' . $data['ladate'] . '</b></td>' ;
    	}
    ?></td>
                                        </tr>
                                        <tr>
                                          <td><div class="normalcentre" align="center">
    <?php 
    // affiche les noms
    if ($choix) {
        $query = mysql_query("SELECT * FROM defile WHERE ladate ='$choix';") or die (mysql_error());
    	while($row = mysql_fetch_assoc($query))
            echo '    <tr>' . "\n" .
             '    <td class="normalcentre" align="center">' . $row['titre'] . '</td>' . "\n" .
             '    <td class="normalcentre" align="center">' . $row['nom'] . '</td>' . "\n" .
             '    </tr>' . "\n";
    	}
    		else
    	{
        $query = mysql_query("SELECT * FROM defile WHERE ladate=(SELECT MAX(ladate) FROM defile) ;") or die (mysql_error());
    	while($row = mysql_fetch_assoc($query))
        echo '    <tr>' . "\n" .
             '    <td class="normalcentre" align="center">' . $row['titre'] . '</td>' . "\n" .
             '    <td class="normalcentre" align="center">' . $row['nom'] . '</td>' . "\n" .
             '    </tr>' . "\n";
    	}
    ?>
    <?php mysql_close(); ?>
                                        </div></td>
    Je crois que j'ai à peu près tout précisé.
    Merci par avance de votre aide !!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ton code est très mal présenté donc je me suis arrêté au début :

    - Est-ce que $choix est défini quelque part ?
    - Ton premier if/else fait la même chose dans les deux cas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/12/2009, 17h12
  2. Réponses: 1
    Dernier message: 27/10/2008, 19h41
  3. Pb d'affichage avec un javascript et une liste déroulante
    Par marti dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/08/2006, 09h54
  4. affichage selon le choix d'une liste déroulante
    Par cell dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/07/2006, 10h16
  5. [FORMULAIRE] affichage selon le choix dans une liste déroulante.
    Par gailup dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/06/2006, 14h58

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