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 :

Présaisie dans un formulaire en cliquant sur un lien en fonction de 2 critères


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Par défaut Navigation par date (derniere page)
    Bon je m'explique mieux :

    J'ai une page (index.php) ou figure dans les titres des colonnes des formateurs, et dans les titres des lignes les différentes plages horaires.
    Dans chaque case de ce tableau figure un lien vers ma page reservation.php

    Je voudrais que si je clique sur le lien de la case qui correspond au formateur Bidul pour la plage horaire de 10h00, dans ma page reservation.php les champs formateur et heure soit préselectionnés (ce sont des listes) sur l'heure et le formateur correspondant. Et que une fois la réservation validée, la case de la page index qui correspond à l'heure et au formateur, prenne pour valeur certains parametres de ma réservation.

    Je vous ai mis un apercu de ma page index et de ma page réservation en annexe ( les O sont les liens ).


    Je ne sais pas si je m'explique bien, demandez moi quelque précisions si vous ne comprenez pas.


    Je vous met mon code en dessous :

    Index.php :

    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
    <?
    echo "<table width='100%' bordercolor='#000066' border=0><tr><td></td>";
    $sql = "select num_formateur, nom_formateur, prenom_formateur, description_formateur from formateur order by num_formateur";
    $result = mysql_query($sql);
    $nbLigne=0;
    $heure='08';
    $minute='00';
     
    while($nbLigne<=44)
    {
    echo "
    
    ";
     
    	while($row = mysql_fetch_row($result))
    	{
    		$Formateur = $row[1];
    		$Num = $row[2];
    		$Description = $row[3];
    		echo "
    
    		<td bgcolor='#000066'><a class='formateur'><center> $Formateur $Num <br> $Description</center></a></td>";
    	}	
     
    	require('rqtFormateur.php');
     
     
    	$nbLigne=$nbLigne+1;
    }
     
    echo "</tr> </table>";
    ?>


    RqtFormateur.php

    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
    <?
     
    if ($heure=='9') {
     
    $heure='09';
    }
     
    echo "</tr> <tr><td bgcolor='#99CCFF'><center><small>$heure:$minute</small></center></td>";
     
    $sql = "select num_formateur, nom_formateur, prenom_formateur, description_formateur from formateur order by num_formateur";
    $result = mysql_query($sql);
     
    $minute=$minute+15;
     
    if ($minute==60) {
     
    $minute='00';
    $heure=$heure+1;
    }
     
    	while($row = mysql_fetch_row($result))	
    	{
    	echo"
    	
    		
    		<td> <font size='-3'><small><center><a class='lien2' href='reservation.php'>O</a></center></small></font>
    		</td>";
    	}
     
    ?>


    Reservation.php :

    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    <FORM METHOD='POST' NAME='resa' id='resa' ACTION='resa_bdd.php'>
     
     
    <table border=0 width='30%'>
      <tr>
    	<td width='40%'>
    	  <h6>Date : </h6>
    	    <blockquote>";
     
    			require('calendar.php');
     
    echo "		</blockquote> 
        </td>
     
      </tr>
    </table>
     
     
    <table border=0 width='90%'>
      <tr>
        <td width='27%'>   
    	  <h6>Heure : </h6><small>
    	    <blockquote>
    			<SELECT NAME='heure' id='heure'>
    			<option value='8' selected>08</option>
    			<option value='9'>09</option>
    			<option value='10'>10</option>
    			<option value='11'>11</option>
    			<option value='12'>12</option>
    			<option value='13'>13</option>
    			<option value='14'>14</option>
    			<option value='15'>15</option>
    			<option value='16'>16</option>
    			<option value='17'>17</option>
    			<option value='18'>18</option>
    			</select>
    			Heures
    			<SELECT NAME='minute' id='minute'>
    			<option value='0' selected>00</option>
    			<option value='15'>15</option>
    			<option value='30'>30</option>
    			<option value='45'>45</option>
    			</select>
    			Minutes</small>
    		</blockquote>
        </td>
    	    <td width='35%'>  
     
    	  <h6>Durée : </h6><small>
    	    <blockquote>
    			<SELECT NAME='heure_duree' id='heure_duree'>
    			<option value='0'>0</option>
    			<option value='1'>1</option>
    			<option value='2'>2</option>
    			<option value='3' selected>3</option>
    			<option value='4'>4</option>
    			<option value='5'>5</option>
    			</select>
    				Heures
    			<SELECT NAME='minute_duree' id='minute_duree'>
    			<option value='0'>00</option>
    			<option value='15'>15</option>
    			<option value='30' selected>30</option>
    			<option value='45'>45</option>
    			</select>
    				Minutes</small>
    		</blockquote>
    	</td>  
     
    		<td width='20%'>
    	  <h6>Type : </h6>
    		<blockquote>
    			<SELECT NAME='type' id='type'>";
     
    						$type = 'select num_type, nom_type from type_reservation order by num_type';
    						$res = mysql_query($type);
    						while($val=mysql_fetch_array($res))
    						{
    							echo '<option value='.$val['num_type'].'> '.$val['nom_type'].' </option>';
    						}
     
    echo "			</select>	
    		</blockquote>
        </td>
     
      </tr>
     
      <tr>
     
    	<td width='27%'>
    	  <h6>Formateur : </h6>
    		<blockquote>
    			<SELECT NAME='formateur' id='formateur'>";
     
    						$formateur = 'select num_formateur, nom_formateur, prenom_formateur from formateur order by num_formateur';
    						$res = mysql_query($formateur);
    						while($val=mysql_fetch_array($res))
    						{
    							echo '<option value='.$val['num_formateur'].'> '.$val['nom_formateur'].'&nbsp'.$val['prenom_formateur'].' </option>';
    						}
     
    echo "			</select>	
    		</blockquote>
        </td>
    	<td width='35%'>
    	  <h6>Description : </h6>		
    		<blockquote>
    			<TEXTAREA NAME='description' id='description' ROWS=5 COLS=40 WRAP='virtual'></TEXTAREA>
    		</blockquote>
        </td>
    	<td width='20%'>
    	  <h6>Statut : </h6>
    		<blockquote>
    			<SELECT NAME='statut' id='statut'>";
     
    						$statut = 'select num_statut, nom_statut from statut order by num_statut';
    						$res = mysql_query($statut);
    						while($val=mysql_fetch_array($res))
    						{
    							echo '<option value='.$val['num_statut'].'>  '.$val['nom_statut'].' </option>';
    						}
     
    echo "			</select>	
    		</blockquote>
        </td>
      </tr>
    </table>
     
     
    <table border=0 width='90%'>
     
      <tr>
     
        <td width='27%'>  
     
    	  <h6>
    	  <input type='radio' name='coeff' id='coeff' checked onClick='change()'/> Coefficient
    	  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    	  <input type='radio' name='coeff' id='autre' onClick='change()'/> Autre
    	  </h6>
    	    <blockquote><blockquote>
    			<div class=tabCache id=coeff>
    			<SELECT id='lstChamp' name='coeff' style='visibility:visible'>";
     
    					$coeff = 'select num_coeff, valeur_coeff from coefficient order by num_coeff';
    					$res = mysql_query($coeff);
    					while($val=mysql_fetch_array($res))
    					{
    						echo '<option value='.$val['num_coeff'].'> '.$val['valeur_coeff'].' </option>';
    					}
     
    echo "			</select>
    			</div>
    			<div class=tabCache id=autre>
    			<INPUT id='txtChamp' name='autre' style='visibility:hidden' SIZE=3/>
    			</div>
        </td>	
     
        <td width='35%'>
    	  <h6>Observations Diverses : </h6>	  
    	  <blockquote>
    			<TEXTAREA  NAME='observation' id='observation' ROWS=5 COLS=40 WRAP='virtual'></TEXTAREA>
    	  </blockquote>
        </td>
     
    	<td width='20%'>
     
     
    <center>
      <INPUT TYPE='submit' name='enregistrer' id='enregistrer' VALUE='Enregistrer'/>
      <INPUT type='hidden' name='afficher' id='afficher' value='ok'/>
     
    </FORM>
     
     
     
    <a href='administration.php' class='lien'>Retour à l'administration</a>
    </center>
     
     
    	</td>
      </tr>
    </table>";
     
    ?>

    Désolé le code est grand, j'espere que ca ne vous démotivera pas pour m'aider :s

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    pas une la motivation (fin de journée ) de lire ton code par contre...pour qu'une valeur d eta liste soit présellectionné faut utilisé SELECTED

    en gros tu test si la valeur de la liste et la meeeme que celle selectionné si oui SELECTED

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Par défaut
    Comment savoir si c'est elle qui est sélectionnée ?
    Comment récupérer le formateur et l'heure auquel correspond la case ou j'ai cliqué ?


    PS : J'ai rajouté des annexes pour ceux qui n'avait pas vu

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    ba avec post ou get...
    ou si c'est pour continué
    dans le formulaire javascruipt

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Par défaut
    Je ne vois toujours pas concretement comment faire.

    Peut tu me donner un exemple disons pour Jean-Yves à 08:00.

    Je pense que si je voit a peu pres la marche a suivre il me sera plus facile de comprendre ensuite !

  6. #6
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Pour Jean-Yves c'est un cas à part


    Tu dois construire tes liens en mettant reservation.php?formateur=Jean-Yves&heure=10:00, comme ça tu récupères les valeurs dans ta page réservation.php en faisant $_GET['formateur'] et $_GET['heure'].

    En espérant que ce soit ça le problème...

  7. #7
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Dis-donc il fait aussi y mettre du sien un peu... On t'as dit comment mettre la sélection et comment récupérer les données, ça doit largement suffire non ?

    Bon t'as de la chance je suis sur mon petit nuage et de très bonne humeur aujourd'hui (Boo sait pourquoi ) alors je te montre un exemple pour l'heure :

    Tu remplaces ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <SELECT NAME='heure' id='heure'>
    <option value='8' selected>08</option>
    <option value='9'>09</option>
    <option value='10'>10</option>
    <option value='11'>11</option>
    <option value='12'>12</option>
    <option value='13'>13</option>
    <option value='14'>14</option>
    <option value='15'>15</option>
    <option value='16'>16</option>
    <option value='17'>17</option>
    <option value='18'>18</option>
    </select>
    Par quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    echo "<SELECT NAME='heure' id='heure'>";
    for (int $i = 8 ; $i <= 18 ; $i++)
    {
    echo "<OPTION VALUE='" . $i . "'";
    if($i == $_GET['heure'])
       echo " SELECTED";
    echo ">"; 
    if($i < 10)
       echo "0";
    echo $i . "</OPTION>\n";
    }
    echo "</SELECT>";
    C'est pas testé donc probablement à corriger mais l'idée est là.

    Par contre détail important, vu comment sont faites tes combos (une pour les heures et une pour les minutes), il faut que tu passes à ta page les heures d'un côté et les minutes de l'autre, si tu as compris ce qu'on t'as dit avant tu as juste à adapter (pour l'instant les heures et les minutes sont concaténées avec un ":".

  8. #8
    Membre Expert
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Par défaut
    Oui je c pourquoi grrr et moi pas d ebonne humeur alors je vais faire mon chiant!!!

    JWhite ton code a des erreurs et deja qure notre amis adu mal donc tu remplace par ca pluto:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    echo "<select name='heure' id='heure'>";
    for (int $i = 8 ; $i <= 18 ; $i++)
    {
    echo '<option value="' . $i .'";
    if($i == $_GET['heure'])
       echo " selected";
    echo '>'.$i .'</option>';
    }
    echo "</select>";

  9. #9
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    C'est où l'erreur ?

    Là en plus ça va afficher 8 - 9 au lieu de 08 - 09...

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Par défaut
    Il y avais une petit erreur de guillemet mais je l'ai arrangée, le code marche bien pour les heures.

    Je suis entrain de l'adpter pour les formateurs vu que j'avais deja du code relatif aux formateurs a cet endroit la.

    Je vous fait signe si j'ai un petit problème mais normalement ca devrait le faire !

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Par défaut
    Voila j'ai réussi à l'adapter pour la sélection des formateurs

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher une photo et données dans une popup en cliquant sur un lien
    Par mars77 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/01/2012, 22h42
  2. Changer d'image placée dans un cadre en cliquant sur un lien
    Par makalu65 dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 14/12/2008, 20h55
  3. envoyer formulaire en cliquant sur un lien de menu
    Par sousan_24 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 15/09/2008, 12h52
  4. Affichage d'une page dans une autre en cliquant sur un lien
    Par ChrisMan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/05/2007, 19h41
  5. soumettre un formulaire en cliquant sur un lien
    Par psychoBob dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/06/2006, 13h36

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