SELECT pour agenda, événements à venir

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SELECT pour agenda, événements à venir

Re: SELECT pour agenda, événements à venir

par AurelienC » 26 janv. 2011, 16:22

C'est parfait, merci beaucoup !

Image

Re: SELECT pour agenda, événements à venir

par jojolapine » 26 janv. 2011, 16:14

Il y a la fonction MONTH() de mysql : http://dev.mysql.com/doc/refman/5.0/fr/ ... #id4192691
et ça vaut aussi pour les jours les années les heures, etc... ;)

Re: SELECT pour agenda, événements à venir

par AurelienC » 26 janv. 2011, 15:58

Encore merci !

Euh ben faire "SELECT * FROM agenda WHERE deat(m)='$mois'" ; ça marcherait ça ?

Re: SELECT pour agenda, événements à venir

par jojolapine » 26 janv. 2011, 15:48

Tu as plusieurs manière de faire : faq-tutoriels/quelques-petites-manipula ... t8323.html
La plus simple ici, c'est de faire:
<?php

$date_timestamp = strtotime( $datemysql );
$date_fr = date('d/m/Y H:i:s', $date_timestamp);
si ça existe pour faire une recherche que dans le mois, ou le jour, ... ça m'intéresse également
là par contre, j'ai compris ce que tu voulais dire?

Re: SELECT pour agenda, événements à venir

par AurelienC » 26 janv. 2011, 15:40

Une autre petite question... :p

Comment mettre en forme directement une date récupérée avec SELECT date FROM table WHERE id=$id par exemple en format "DATETIME" sous un format "français" du type "JJ/MM/AAAA HH:MM", ou pour récupérer que le jour, ...

j'ai bien cherché mais je n'ai rien trouvé de concluant !

PS : si ça existe pour faire une recherche que dans le mois, ou le jour, ... ça m'intéresse également ;)

Encore merci !

Re: SELECT pour agenda, événements à venir

par AurelienC » 26 janv. 2011, 15:16

Merci beaucoup ! je vais utiliser ça !

Re: SELECT pour agenda, événements à venir

par jojolapine » 26 janv. 2011, 14:33

Ahah! je t'y prends à utiliser les mauvais types de champs ;) (pas de punition parceque t'as réussit à éviter le varchar :-° )

Bon donc effectivement, il faut utiliser un datetime ou date tout court suivant tes besoins, afin de pouvoir faire des tris corrects...
Et pour récupérer les enregistrements supèrieur à telle date il suffit de faire:
... WHERE monchampdate > '2010/06/11 12:00:00' ...
par exemple pour tout les évènements à venir:
... WHERE monchampdate > NOW() ...
Pour plus d'infos sur les fonctions de dates et heures mysql: http://dev.mysql.com/doc/refman/5.0/fr/ ... tions.html

Re: SELECT pour agenda, événements à venir

par AurelienC » 26 janv. 2011, 14:24

Quand il n'y avait pas d'événement, ça disait bien qu'il n'y en avait pas.

Depuis que j'en ai ajouté (un seul), rien ! Page blanche ;)

Je stocke ma date avec 3 smallint (jour, mois, année) mais il faudrait que j'utilise "date" je pense...

Mais je ne connais pas la fonction MySQL qui me permettrait d'aller chercher les événements futurs à la date actuelle, est-ce que cette fonction existe ?

Merci !
Aurélien

Re: SELECT pour agenda, événements à venir

par jojolapine » 26 janv. 2011, 13:53

Bonjour,

Qu'entends-tu par rien ne s'affiche ?
Tu as une page blanche ? des erreurs php/sql ?
Le résultat est différent de ce que tu souhaites ?

SELECT pour agenda, événements à venir

par AurélienC » 26 janv. 2011, 13:04

Bonjour à tous,

je débute dans le PHP et j'essaie de faire un agenda, avec un affichage des événements à venir, c'est là où je bloque un peu !

Voici mon code :

Code : Tout sélectionner

<?php //Connexion include("config.php"); $connexion = mysql_connect($hote, $user, $mpasse, $base) or die ("erreur co"); $db = mysql_select_db ($base) or die ("erreur base"); //Date actuelle $actujour=date(j); $actumois=date(n); $actuannee=date(Y); //Requête $rq = " SELECT * FROM agenda WHERE datea>='$actuannee' AND datem>='$actumois' AND datej>='$actujour' ORDER BY datea desc, datem desc, datej desc"; $result= mysql_query($rq) or die ("erreur requete2"); $num=mysql_num_rows($result); if($num==0) { echo "<font face='tahoma'><br>Pas d'événements ! <br>Pensez à en <a href='ajouter_agenda.php' target='_blank'>ajouter</a></font>"; } $aff=6; if($aff>$num) { $aff=$num-1; } //Affichage $nblignes=mysql_num_rows($result); for ($nb=0; $nb<$aff; $nb++) { $ligne = mysql_fetch_assoc($result); extract($ligne); echo " <br><a href='afficher_agenda.php?num=$numero'><font size='2' face='arial' color='#547D39' style='text-decoration: none;'>$datej/$datem/$datea - $titre</b></font></a>"; } mysql_close(); ?>
Mais rien ne s'affiche...

Si vous pouviez m'aider !

Merci par avance,
Aurélien