bonjour à tous,
j'ai tenté un script pour rechercher dans la base la date suivant aujourdhui (YYYY-MM-DD) et renvoyer 'date_debut', 'titre', et 'description'. En gros je veux afficher le prochain evenement dans mon agenda (plusieurs evenements possibles).Ex: le 25 Janvier 2008: Reunion . Parents d'elèves.
Le problème est que ce script fonctionne par moments (!!) il me faut raffraichir plusieurs fois avoir le resultat attendu.
Si quelqu'un peut m'aider à optimiser ce code, voire une autre solution plus conventionelle.. Merci d'avance
Modifié par el fab (30 Jan 2008 - 11:13)
j'ai tenté un script pour rechercher dans la base la date suivant aujourdhui (YYYY-MM-DD) et renvoyer 'date_debut', 'titre', et 'description'. En gros je veux afficher le prochain evenement dans mon agenda (plusieurs evenements possibles).Ex: le 25 Janvier 2008: Reunion . Parents d'elèves.
Le problème est que ce script fonctionne par moments (!!) il me faut raffraichir plusieurs fois avoir le resultat attendu.
Si quelqu'un peut m'aider à optimiser ce code, voire une autre solution plus conventionelle.. Merci d'avance
<?php
include(data.php');
$cnx = mysql_connect($dbserver, $dbuser, $dbpass) OR die (mysql_error());
mysql_select_db($dbdb, $cnx) OR die ("Erreur connexion Base");
//connexion a la base effectuée
$dday = time();
$sql = "SELECT * FROM agenda WHERE date_debut >= $dday ORDER BY date_debut";
$req = mysql_query($sql)or die ("Erreur SQL !".mysql_error());
$i = 0;
while($dates = mysql_fetch_assoc($req)){
$moisg = substr($dates['date_debut'],5,2);
$jourg = substr($dates['date_debut'],8,2);
$anneeg = substr($dates['date_debut'],0,4);
$timestamp = mktime(0,0,0, $moisg, $jourg, $anneeg);
$timediff = $timestamp - $dday;
$ecart_jours = floor($timediff / (60*60*24));
$tabday[$i] = $ecart_jours.'.'.$dates['id'];
$i = ++$i;
}
$k = 0;
for ($j=0; $j < $i; ++$j){
if ($tabday[$j] > 0){
$tabplus[$k] = $tabday[$j];
$k = ++$k;
}
}
$exptab = explode(".",$tabplus[0]);
$z=0;
$months = array("janvier", "février", "mars", "avril", "mai", "juin",
"juillet", "août", "septembre", "octobre", "novembre", "décembre");
for ($j=0; $j < $k; ++$j){
$expdat = explode(".",$tabplus[$j]);
if($expdat[0] == $exptab[0]){
$id = $expdat[1];
$sql = "SELECT * FROM `agenda` WHERE id=$id";
$rq = mysql_query($sql)or die ("Erreur SQL !".mysql_error());
$rslt= mysql_fetch_assoc($rq);
if ($z=="0") //pour n'afficher la ligne qu'une fois
{
list($y, $m, $d) = explode("-", $rslt['date_debut']);
echo "Le $d ".$months[$m-1]." $y".'<br /><br />';
$z=1;
}
echo $rslt['nom'].' : '.$rslt['description'].'<br />';
}
}
?>
Modifié par el fab (30 Jan 2008 - 11:13)