bonjour à tous
Je débute en php et mysql et suis en train de faire un site pour mon club et je souhaite y intégrer un bloc avec 3 évènements qui sont défini dans une base de donnée.
Mais j'ai plusieurs soucis et j'espère que vous pourrez m'aider à les résoudre.
Pour commencer, dans mon formulaire, j'ai un champ pour la date.
Le plus simple pour moi pour la maquette a été de mettre un champ text :
Dans ma base de donnée, le champ date est en varchar(255). L'info sz'enregistre très bien et je sais la récupérée. Mais le problème vient quand je veux récupérer l'info sur ma page d'accueil car j'aimerai qu'elle apparaisse de la plus récente à la plus ancienne et les 3 dernières seront affichée. Mais avec un champ varchar ça ne fonctionne pas bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <p>Date</p> <p><input type="text" name="date2" id="date2" required/></p>
Alors j'aimerai utiliser un champ date, mais je en comprend pas le système à mettre sur le formulaire pour qu'il rentre dans la base Mysql au bon format 0000-00-00. J'ai essayé avec le champ date (qui ne fonctionne pas encore sous IE et Firefox), mais il me met le format sur 6 caractère 00-00-00 et en français ce qui ne pemet pas de rentrer la date dans la base mysql...
Que dois-je faire ?
mon 2ème problème est naturellement lié. Sur ma page d'accueil, j'aimerai que les 3 dernières dates soient affichée suivant une date qui n'est pas encore passée. Et c'est là que je n'arrive pas à expliquer...
Dans mon script actuel il me prend les 3 dernières dates entrée dans la base de donnée :
mais si j'ai 10 dates qui ne sont pas encore passée, il me prend quand même les 3 dernières , donc il y a 7 date qui passe à la trappe...
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 <div class="tete_agenda"> <div class="titre_agenda"> AGENDA</div> <img src="images/agenda/separation.jpg" alt="separation" /> <?php // Si tout va bien, on peut continuer // On récupère tout le contenu de la table news et on demande le dernier enregistrement écrit $reponse = $bdd->query('SELECT * FROM agenda ORDER BY date2 DESC LIMIT 1'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <div id="date1"> <h2><?php echo $donnees['tit']; ?><br /></h2> <h3><?php echo $donnees['mait']; ?></h3> <br /> <?php echo $donnees['date']; ?><br /> <a href="<?php echo $donnees['lien']; ?>" > Renseignement ICI</a> </div> <?php } $reponse->closeCursor(); // Termine le traitement de la requête ?> <!-- Agenda 2--> <img src="images/agenda/separation.jpg" alt="separation" /> <?php // Si tout va bien, on peut continuer // On récupère tout le contenu de la table news et on demande l'avant dernier enregistrement écrit $reponse = $bdd->query('SELECT * FROM (SELECT * FROM agenda ORDER BY date2 DESC LIMIT 2) tmp ORDER BY date2 ASC LIMIT 1'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <div id="date2"> <h2><?php echo $donnees['tit']; ?><br /></h2> <h3><?php echo $donnees['mait']; ?></h3> <br /> <?php echo $donnees['date']; ?><br /> <a href="<?php echo $donnees['lien']; ?>" > Renseignement ICI</a> </div> <?php } $reponse->closeCursor(); // Termine le traitement de la requête ?> <!-- Agenda 3--> <img src="images/agenda/separation.jpg" alt="separation" /> <?php // Si tout va bien, on peut continuer // On récupère tout le contenu de la table news et on demande l'avant dernier enregistrement écrit $reponse = $bdd->query('SELECT * FROM (SELECT * FROM agenda ORDER BY date2 DESC LIMIT 3) tmp ORDER BY date2 ASC LIMIT 1'); // On affiche chaque entrée une à une while ($donnees = $reponse->fetch()) { ?> <div id="date2"> <h2><?php echo $donnees['tit']; ?><br /></h2> <h3><?php echo $donnees['mait']; ?></h3> <br /> <?php echo $donnees['date']; ?><br /> <a href="<?php echo $donnees['lien']; ?>" > Renseignement ICI</a> </div> <?php } $reponse->closeCursor(); // Termine le traitement de la requête ?> </div>
Comment pourrai-je faire pour "limiter" au 3 dernières dates qui ne sont pas encore passées?
Un grand merci d'avance
Partager