Est-ce que tu peux reprendre mon code de test et l'exécuter au moins une fois.
J'ai oublié de te dire que le script de test devait être dans un fichier intitulé test.php
Est-ce que tu peux reprendre mon code de test et l'exécuter au moins une fois.
J'ai oublié de te dire que le script de test devait être dans un fichier intitulé test.php
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Oui, biensûr, mais je n'ai même plus les dates proposées en fonction du serial_number dans la liste ....
Montres moi comment tu as adapté mon script
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Bah j'ai rajouté le code pour la connexion à la BDD.
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Tu ne veux toujours pas poster le code ? Tu ne risque rien tu sais
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Honnêtement, je ne vois pas pourquoi mon code ne fonctionne pas, je bosse dessus depuis plusieurs jours et ça n'avance pas !
Toujours le problème pour extraire la date selectionnée dans la liste déroulante, tu n'aurais pas une idée ?
Je remet 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 <FORM method=post action="site2d.php"> <INPUT type="hidden" name="dut_serialnumber" value="<?php echo $dut_serialnumber; ?>"> Date: <select name='date_start' > <?php while($row = mysql_fetch_array($result)) { echo '<option>', $row['date_start'], '</option>'; } ?> </select> <INPUT type="submit" value="Envoyer2"> </FORM> <? $date_start = $_POST['date_start']; echo $date_start; ?>
Remplacepar
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo '<option>', $row['date_start'], '</option>';
Code : Sélectionner tout - Visualiser dans une fenêtre à part echo '<option value="', $row['date_start'], '">', $row['date_start'], '</option>';
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Lorsque je clique sur ENVOYER2, la page se recharge mais je n'ai toujours pas la date d'affiché (je demande l'affichage uniquement pour voir que j'ai bien extrais la date selectionnée).
Merci.
Pour retrouver ce que tu as sélectionné, il faut gérer l'attribut selected="selected".
Après avoir extrait tes dates, il faut comparer chaque valeur avec la date sélectionnée et si cela correspond tu ajoutes l'attribut selected à <option></option>.
Regardes dans ma source $selectedDate Lignes 27 et 78
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Tu peux m'orienter un peu plus en indiquant cela sur mon code car je suis vraiment perdu !
Merci
Vérifies bien que la clé est 'date_start' et non 'date_serial' comme précédemment, sinon remplaces.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while($row = mysql_fetch_assoc($result)) { $isSelected = ($row['date_start'] === $_POST['date_start']) ? ' selected="selected"' : null; echo '<option value="', $row['date_start'], '"', $isSelected, '>', $row['date_start'], '</option>'; }
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Toujours pareil, la page se recharge mais je ne récupère pas la date !
rajoutes en haut de ton scriptcomme ça tu verras ce que ton script reçoit comme données à chaque appel
Code : Sélectionner tout - Visualiser dans une fenêtre à part print_r($_POST);
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
J'ai fais plusieurs essais, apparemment je récupère bien la date sélectionnée ! J'obtiens ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Array ( [dut_serialnumber] => tx081 [date_start] => 2011-07-07 15:25:02 )
attends, dut_serialnumber n'est pas un entier ! c'est un texte ! C'est pourquoi mon script ne te renvoyait rien. Le post sur lequel je m'étais appuyé faisait mention deEt j'ai codé mon script pour vérifier que dut_serialnumber devait être un entier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <INPUT type=int name="dut_serialnumber">
Réessaies avec mon script modifié en conséquence :
C'est pour ton bien
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 <?php // RAJOUTE LA CONNEXION A LA BASE DE DONNEES : mysql_connect() mysql_select_db() // securité : echappement des caractères spéciaux $hsc = function ($p) { return htmlspecialchars($p, ENT_QUOTES); }; $hasDut = (isset($_POST['dut_serialnumber']) && strlen($_POST['dut_serialnumber'])); $hasDate = (isset($_POST['date_start']) && date_create($_POST['date_start'])); $hideData_dates = true; $hideData_tests = true; $selectedDut = null; $selectedDate = null; // si hasDut et hasDate -> on renvoie le formulaire et la liste des tests effectués // si hasDut -> on renvoie le formulaire et la liste des date disponibles if ($hasDut) { $selectedDut = $_POST['dut_serialnumber']; $sql = "SELECT date_start FROM dut_test_data WHERE dut_serialnumber='". mysql_real_escape_string($selectedDut) . "'"; $dataDates = mysql_query($sql); $hideData_dates = ( ! $dataDates); // au cas oà la requête planterait on n'affiche pas la zone de liste } if (( ! $hideData_dates) && $hasDate) { $selectedDate = $_POST['date_start']; } if ($selectedDut && $selectedDate) { $sql = <<<SQL SELECT test_name, test_description, test_frequency, test_octopack_slot, test_octopack_channel, test_phase, test_value, test_limitlow, test_limithigh, test_result, test_unit FROM dut_test_data WHERE test_date = '$selectedDate' SQL; $dataTests = mysql_query($ql); $hideData_tests = ( ! $dataTests); // au cas oà la requête planterait on n'affiche pas la table } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <link rel="stylesheet" href="site1.css" /> <title>Demonstration N�2</title> </head> <style type="text/css"> h1 { text-align: center; font-weight: bold; border-width: 12px; border-color: grey; border-style: inset; padding: 5px; } h3 { text-decoration: underline; } table { border: 5px solid black; } </style> <body> <h1>Exploitation de la base de donnees TX_RACK</h1> <h3>Choisir le dut_serial_number afin d'afficher les dates des tests r�alis�s :</h3> <form method="post" action="site2.php"> <label for="dut_serialnumber">Entrez le dut_serialnumber : </label> <input id="dut_serialnumber" type="number" name="dut_serialnumber" required="required" value="<?php echo $selectedDut; ?>" /> <?php if ( ! $hideData_dates): ?> <label for="listeDates">Dates : </label> <select id="listeDates" name="date_start"> <?php while($row = mysql_fetch_assoc($dataDates)): $isSelected = ($row['date_start'] === $selectedDate) ? ' selected="selected"' : null; ?> <option value="<?php echo $hsc($row['date_start']); ?>"<?php echo $isSelected; ?>><?php echo $hsc($row['date_start']); ?></option> <?php endwhile; ?> </select> <?php endif; ?> <input type="submit" value="Envoyer" /> </form> <?php if ( ! $hideData_tests): ?> <table> <thead> <tr> <th>Name</th> <th>Description</th> <th>Frequency</th> <th>Slot</th> <th>Channel</th> <th>Phase</th> <th>Value</th> <th>Limit low</th> <th>Limit high</th> <th>Result</th> <th>Unit</th> </tr> </thead> <tbody> <?php while($row = mysql_fetch_assoc($dataTests)): ?> <tr> <td><?php echo $hsc($row['test_name']); ?></td> <td><?php echo $hsc($row['test_description']); ?></td> <td><?php echo $hsc($row['test_frequency']); ?></td> <td><?php echo $hsc($row['test_octopack_slot']); ?></td> <td><?php echo $hsc($row['test_octopack_channel']); ?></td> <td><?php echo $hsc($row['test_phase']); ?></td> <td><?php echo $hsc($row['test_value']); ?></td> <td><?php echo $hsc($row['test_limitlow']); ?></td> <td><?php echo $hsc($row['test_limithigh']); ?></td> <td><?php echo $hsc($row['test_result']); ?></td> <td><?php echo $hsc($row['test_unit']); ?></td> </tr> <?php endwhile; ?> </tbody> </table> <?php endif; ?> </body> </html>
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
J'ai la même chose (array et les valeurs des champs dut_serialnumber et date_start). Je ne comprends pas pourquoi on ne peut pas extraire la valeur de la date alors que celle ci est bien envoyé ?
Après avoir renseigné le champ dut_serialnumber et soumis le formulaire,
est ce que tu vois au moins le champs Date ?
Y a t il des données dedans ?
- PDO++ : Une nouvelle façon d'utiliser PDO. Billet de blog || Code source
- PhpEcho : Un moteur de rendu en une seule classe ! Nouvelle version (release 2.3.2) publiée le 18/04/2020 : Billet de blog || Code source
Je tape le champs dut_serialnumber puis j'appuie sur ENVOYER, ensuite j'ai les dates dans la liste déroulante (dates résultantes de la requête), j'en sélectionne une puis j'appuie sur ENVOYER.
1er envoie :
2ème envoie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Array ( [dut_serialnumber] => tx081 [date_start]
Cela prouve que le champs date est bien renvoyé ? Mais je n'arrive toujours pas à le récupérer;
Code : Sélectionner tout - Visualiser dans une fenêtre à part Array ( [dut_serialnumber] => tx081 [date_start] => 2011-07-07 13:31:00 )
Merci ...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager