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 :

Divers petits problèmes avec mon script


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Par défaut Divers petits problèmes avec mon script
    Bonjour,

    Ce script me permet d'afficher les personnes associées à des comités. L'usager sélectionne la liste désirée et l'année.

    1) mes deux sélect (liste et an n'affiche pas le choix de l'usager

    2) si la requête est vide, le message en fin de code s'affiche avec mes deux sélect

    3) Est-ce possible d'optimiser lf if pour l'affichage de la date ?

    Merci!

    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    <div class="framebloc">
    				<?php
            echo '<FORM action="ca2.php?" METHOD="GET">';
            echo '<table align="center" border=3">';
            echo '<tr><th>Liste désirée</th><th>Année</th><th>Action</th></tr>';
            echo '<tr><td>';
    				require("config.inc.php");
            $r_liste = "SELECT code,description FROM TB_statut where web_site='O' order by description";
            $d_liste = mysql_query($r_liste);
            echo '<select name="liste">';
            while($ch_liste=mysql_fetch_array($d_liste)) {
              echo '<option value="'.$ch_liste["code"].'" '.selected.'>'.$ch_liste["description"].'</option>\n';
            }
            echo '</select>';
            echo '</td><td>';
    				$r_an = "SELECT distinct an FROM ATS_statut where type='CA' order by an desc";
    				$d_an = mysql_query($r_an);
    				echo '<p align="center"><select name="an">';
    				while($val=mysql_fetch_array($d_an))	{
    					echo "<option>".$val["an"]."</option>\n";
    					if($an == $val["an"]) {echo ' selected="selected"';} 
    				}
    				echo '</select>';
    				echo '</td><td>';
    				echo '<INPUT TYPE="submit" VALUE="Afficher"></p>';
    				echo '</FORM>';
    				echo '</td></tr>';
     
          if (mysql_num_rows($d_an)>0) {
            $r_ca = mysql_query("SELECT * FROM `ATS_statut`
    				LEFT JOIN ATS_membre ON ATS_statut.passeport = ATS_membre.passeport
      where ATS_statut.aff_web='O' and ATS_statut.type='$liste' and ATS_statut.an='$an' order by ATS_statut.tri_ordre,ATS_membre.nom,ATS_membre.prenom");
     
            if (mysql_num_rows($r_ca)>0) {
              echo '<table align="center" border="1" cellpadding="3">';
              echo '<tr>';
              echo '<th width="175">Identification</th>';
              echo '<th>CE</th>';
              echo '<th>Poste occupé</th>';
              echo '<th>Photo</th>';
              echo '<th>Début</th>';
              echo '<th>Fin</th>';								
              echo '<th>Note</th>';
              echo '</tr>';
              while ($var = mysql_fetch_array($r_ca) )
              {
                echo '<tr>';
                echo '<td><strong>'.htmlspecialchars($var['nom']).' '.htmlspecialchars($var['prenom']).'</strong></td>';
                echo '<td align="center">'.htmlspecialchars($var['ce']).'</td>';
                $atscourriel=htmlspecialchars($var['ats_courriel']);
                if (empty($atscourriel)) {
                  echo '<td>'.htmlspecialchars($var['poste_occupe']).'</td>';
                }
                else {
                  echo '<td><a href="mailto:'.$atscourriel.'">'.htmlspecialchars($var['poste_occupe']).'</a></td>';
                }		
     
                echo '<td align="center">NA</td>';	
     
                if ($var['dt_debut']=="0000-00-00") {
                  echo '<td>&nbsp;</td>';
                }
                else {
                  echo '<td>'.htmlspecialchars($var['dt_debut']).'</td>';
                }
                if ($var['dt_fin']=="0000-00-00") {
                  echo '<td>&nbsp;</td>';
                }
                else {
                  echo '<td>'.htmlspecialchars($var['dt_fin']).'</td>';
                }
     
                echo '<td>'.htmlspecialchars($var['note']).'</td>';
                echo '</tr>';	
              }	
              echo '</table>';
            }		
            else	{
              echo '<p align="center"><h2>Aucune fiche ne correspond à cette requête</h2></p>';			
            }	
          }	
          else {
              echo '<p align="center"><h2>Aucune fiche ne correspond à cette requête</h2></p>';	
          }
          mysql_close(); //Deconnection...		
          ?>	
          </div> <!-- Fin Frame -->

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    liste et an n'affiche pas le choix des usagers ??

    C'est un peu paradoxal puisque c'est liste et an qui permettent de faire ce choix. Ils affichent tout deux le choix dans le menu déroulant..


    Si ton message en fin de code s'affiche avec tes deux select c'est parce que tu n'as mis aucunes contraintes d'affichage sur les select.

    tu peux mettre un if(!isset($_POST['liste'])) pour dire que si l'utilisateur n'a pas validé son choix, on affiche les select sinon, on fait les traitements des données choisies, qui, en l'occurence, sont $_POST['liste'] et $_POST['an'];

    ++

  3. #3
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Je viens de rejeter un coup d'oeil sur ton code, on ne récupère pas la valeur d'un champ de formulaire en faisant $lechamp, on fait $_POST['lechamp']; en supposant bien sur que ton formulaire soit en method="post"

    edit : ah ben t'es en get, jte conseille de passer en post, mais bon.. dans ton cas c'est donc $_GET['lechamp']

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Par défaut
    Merci, je vais regarder cela.

    Je ne sais pas trop où mettre le if(!isset($_POST['liste']))

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Par défaut
    Bonjour,

    Mes deux listes déroulantes n'affichent pas le choix de l'usager. Pour l'affichage, tout est ok!


    Aussi, comment puis-je mettre à jour la 2e liste selon le choix de la première liste ?

    Merci!


    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
      1. <?php
       2. $an = $_POST['an'];
       3. $liste = $_POST['liste'];
       4. ?>
       5.   <div class="conteneur">
       6.     <div class="header"><p class="top"><a href="http://www.ats3r.org"><img src="site/images/accueil.gif" border="0" alt="ATS"> </img></a></p>
       7.     </div>
       8.       <div class="framebloc">
       9.    <?php
      10.
      11.         echo '<FORM action="ca2.php" METHOD="POST">';
      12.         echo '<table align="center" border=3">';
      13.         echo '<tr>';
      14.    echo '<th>Liste disponible</th>';
      15.    echo '<th>Année</th>';
      16.    echo '<th>Action</th>';
      17.    echo '</tr>';
      18.    require("config.inc.php" );
      19.    $r_liste = "SELECT code,description FROM TB_statut where web_site='O' order by description";
      20.         $d_liste = mysql_query($r_liste);
      21.         echo '<tr>';
      22.    echo '<td valign="center">';
      23.         echo '<select name="liste">';
      24.         while($ch_liste=mysql_fetch_array($d_liste)) {
      25.           echo '<option value="'.$ch_liste["code"].'" '.selected.'>'.$ch_liste["description"].'</option>\n';
      26.       }
      27.         echo '</select>';
      28.         echo '</td>';
      29.
      30.    $r_an = "SELECT distinct an FROM ATS_statut where type='$liste' order by an desc";
      31.    $d_an = mysql_query($r_an);
      32.    echo '<td valign="center">';
      33.    echo '<select name="an">';
      34.    while($ch_an=mysql_fetch_array($d_an)) {
      35.           echo '<option value="'.$ch_an["an"].'" '.selected.'>'.$ch_an["an"].'</option>\n';
      36.       }
      37.    echo '</select>';
      38.    echo '</td>';
      39.    echo '<td valign="center">';
      40.    echo '<INPUT TYPE="submit" VALUE="Visualiser">';
      41.    echo '</FORM>';
      42.    echo '</td>';
      43.    echo '</tr>';

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 64
    Par défaut
    via ajax par exemple, cf ce tuto pour les listes liées :
    http://siddh.developpez.com/articles/ajax/#LIV-A

Discussions similaires

  1. Un tout petit problème avec mon menu contextuel
    Par jbrasselet dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/10/2007, 15h40
  2. Problème avec mon script shell case in esac
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 28/06/2007, 22h54
  3. Problème avec mon script
    Par Toinou0123 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 30/09/2006, 18h37
  4. (Batch et VBS) Petit probléme avec un script batch VBS
    Par Edoxituz dans le forum Windows
    Réponses: 11
    Dernier message: 27/02/2006, 17h21
  5. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26

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