Problemes sur les dates toujours pas résolus [Résolu]

Signaler
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006
-
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
-
Bonjour tout le monde,

j'ai un probleme que je n'ai toujours pas resolu, vous allez ptet vous en rapelé , mais comme ça m'a embrouiller, je reprend à zero.

je doi faire un agenda du type:

mardi 5 février 2005
- 8h00 dormir
- 15h00 programmer

mercredi 6 février 2005
- 9h00 redormir
- 14h30 reprogrammer ...etc...

j'ai fais un programme qui m'affiche cela:

05/02/2005 15:00 dormir
05/02/2005 8:00 programmer
06/02/2005 9:00 redormir
06/02/2005 14:30 reprogrammer

pour info: j'ai une base access:
ma table est :agenda
mes champs de la table sont : code_agenda dont le format est : numAuto
datebd " " : texte
heure " " : texte
texte " " :texte

comment faire pour:

-trier les dates dans le bonne ordre et sans mettre la meme date 2 fois?
(en sachant que dans ma base le type de cette données "daetbd" est "texte")
- trier les heures dans le bonne ordre et ne pas réecrir la date qand c'est la meme journée(date)?

-mettre le format en mercredi 5 février 2005

car quand je met echo( "%A %d %B %Y",odbc_result( $datebd,2 )), '
';
il me met toujours jeudi 1er janvier 1970 ??????

- en gros comment je peux faire pour passer de ce que j'affiche avec mon programme à ce que je veux afficher??

pour info voici mon code:


<center>Agenda
</center>
<?php
include ("../../connexion.php");
echo ("<center>");
setlocale(LC_TIME, "fr"); // passe en français facilement
$date_tete=strftime("%A %d %B %Y");
echo $date_tete; // affiche la date d'aujourd'hui sous forme "mercredi 16 mars 2005"


echo ("</center>");
echo ("
");
echo ("
");
echo ("
");

$datebd= odbc_exec( $cnx, "select * from agenda" );

while( odbc_fetch_row( $datebd ) ) //tant que c pas la fin de la table
{
echo("\");
echo(\"----
\");
echo(\"");
echo odbc_result( $datebd,2 )."
";
echo(", \");
echo(\"");
echo odbc_result( $datebd,3 )."
";
echo(", \");
echo(\"");
echo odbc_result( $datebd,4 )."
";
echo(", \");
echo(\"\");
echo("
");
}


odbc_close($cnx);
?>

[../sommaire_agenda/sommaire_agenda.html Retour au sommaire de l'agenda ]



</html>

Je vous remercie d'avance pour votre aide

69 réponses

Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
je suis désolé, j'ai tout essayé.....

si je trouve des solutions je t'écrirais. écris moi par mail à

loic1.picard@laposte.net

@+
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

ok
merci pour ton aide
si je trouve je te le dirai

bisous
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
de rien.

meme si t'as d'autres probleme écris moi à mon adresse mail. car je ne
serais pas toujours sur ce site.envoie moi un mail pour que j'ai ton
adresse pour te dire au cas ou je trouverais la solution.

j'attends ton mail.

bisous
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

salu,

c'est bon ça marche,
on chercher trop compliqué, en faite c'etait juste sur cette ligne, on a mit :
$temp=odbc_exec($cnx, "select heure, texte from agenda
where datedb='".$date_bis."'");

au lieu de detebd
sinon l'affichage est bon, il me manque plus que le tri des heures
par ordre croissant cette fois si,
j'ai mis :

$temp=odbc_exec($cnx, "select heure, texte from agenda where datebd='".$date_bis."'"."order by heure desc");

mais ça fé decroissant, comment on fais pour le mettre en croissant
(le contraier de desc)

merci
@+
et gros bisou à louyousse
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
enlève le desc à ta requete et ça doit marcher normalement par défaut le order by est en croissant. Si tu mets rien il va trier en croissant.

$temp=odbc_exec($cnx, "select heure, texte from agenda where datebd='".$date_bis."'"."order by heure ");
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

oui ça marche ,
encore un ptit truc et ma page est terminer enfin presque,

je voudrai enlené la date quand elle est egale à celle d'aujourd'hui:

pour ça j'ai mis: (en rouge)

</head>

<center>Agenda
</center>


<?php
include ("../../connexion.php");
echo ("<center>");
setlocale(LC_TIME, "fr"); // passe en français facilement
$date_tete= strftime("%A %d %B %Y");
echo $date_tete;


echo ("</center>");
echo ("
");
echo ("
");
echo ("
");
$datebd= odbc_exec( $cnx, "select distinct datebd from agenda order by datebd desc");

if ( $datebd > $date_tete)
{
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE $datebd = '".$date_tete."'");
}

while( odbc_fetch_row( $datebd ) ) //tant que c pas la fin de la table
{
.................................

et il me met ça comme erreur:

Warning : odbc_exec(): SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe (opérateur absent) dans l'expression 'Resource id #5 = 'jeudi 17 mars 2005''., SQL state 37000 in SQLExecDirect in ....

ça doit etre un probleme de format sans doute

sinon merci pour tout louyousse
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
ecris ça :

$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE datebd = '".$date_tete."'");

t'avais mis un "$" devant le nom de ton champ datedb.

tiens moi au courant.

bisous
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

je vien de changer, il ne me met plus le message d'erreur , mais il n'efface pas non plus
ça marche pas, je cherche et je te dirai si je trouve

merci loyousse
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
en fait tu veux supprimer de la base tous les enregistrements
concernant la date d'aujourd'hui? c'est ta condition qui n'est pas
bonne.

essaie ça :
if ( $datebd == $date_tete)
{
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE $datebd = '".$date_tete."'");
}

là ça regarde si la date est la meme que celle d'aujourd'hui et si oui ça supprime dans la base.



tiens moi au courant.
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
if ( $datebd == $date_tete)
{
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE datebd = '".$date_tete."'");
}

mets plutot ça. j'avais recopié avec le "$" en trop devant datedb.
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

non, c'est si la date qu'il y a dans la base est inferieur à celle d'aujourd'hui alors on l'efface:





par exemple:


<CENTER>
Agenda
</CENTER>
<CENTER>jeudi 17 mars 2005</CENTER>

18/03/2005,
----

----

11:00,
jespere quon le voit car je veux voir ce que j'ai à faire demain


17/03/2005,
----

----

10:00,
on le voi aussi pour voir ce que je dois faire aujourd'hui,
----

12:30,
on le voi aussi


16/03/2005,
----

----

10:30,
pas voir normalement car c'était hier et que j'ai deja fais
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
if ( $datebd< $date_tete)

{
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE datebd = '".$datebd."'");
}

voila mets ça. j'ai bien compris ce que tu veux et normalement la solution est là.
tiens moi au courant.
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

ça marche pas, il me met toute les dates qu'il y a dans ma base (meme celle qui sont avant le 17/05/2005)!
tu peu me dire si j'ai bien plaçé:
je te passe tout le code:
<html>
<head>
<title>agenda</title>
</head>

<center>Agenda
</center>


<?php
include ("../../connexion.php");
echo ("<center>");
setlocale(LC_TIME, "fr"); // passe en français facilement
$date_tete=strftime("%A %d %B %Y");
echo $date_tete;


echo ("</center>");
echo ("
");
$datebd= odbc_exec( $cnx, "select distinct datebd from agenda order by datebd");

if ( $datebd< $date_tete)
{
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE datebd = '".$datebd."'");
}

while( odbc_fetch_row( $datebd ) ) //tant que c pas la fin de la table
{
$date_bis=odbc_result( $datebd,1 );
echo ("
");
echo ("
");
echo ("
");
echo("\");
echo(\"----
\");
echo(\"");
echo $date_bis."
";
echo(", \");
echo(\"\");
echo(\"----
\");
$temp=odbc_exec($cnx, \"select heure, texte from agenda where datebd='\".$date_bis.\"'\".\"order by heure\");
while( odbc_fetch_row( $temp ) ) //tant que c pas la fin de la table
{
echo(\"----
\");
echo(\"");
echo odbc_result( $temp,1 )."
";
echo(", \");
echo(\"");
echo odbc_result( $temp,2 )."
";
echo(", \");
echo(\"\");
}
echo(\"\");
echo(\"\");
echo("
");
}


odbc_close($cnx);
?>

[../sommaire_agenda/sommaire_agenda.html Retour au sommaire de l'agenda ]

</html>
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
<html>
<head>
<title>agenda</title>
</head>

<center>Agenda
</center>


<?php
include ("../../connexion.php");
echo ("<center>");
setlocale(LC_TIME, "fr"); // passe en français facilement
$date_tete=strftime("%A %d %B %Y");
echo $date_tete;


echo ("</center>");
echo ("
");
$datebd= odbc_exec( $cnx, "select distinct datebd from agenda order by datebd");



while( odbc_fetch_row( $datebd ) ) //tant que c pas la fin de la table
{

$date_bis=odbc_result( $datebd,1 );

if ( $date_bis< $date_tete)
{
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE datebd = '".$datebd."'");
}


echo ("
");
echo ("
");
echo ("
");
echo("\");
echo(\"----
\");
echo(\"");
echo $date_bis."
";
echo(", \");
echo(\"\");
echo(\"----
\");
$temp=odbc_exec($cnx, \"select heure, texte from agenda where datebd='\".$date_bis.\"'\".\"order by heure\");
while( odbc_fetch_row( $temp ) ) //tant que c pas la fin de la table
{
echo(\"----
\");
echo(\"");
echo odbc_result( $temp,1 )."
";
echo(", \");
echo(\"");
echo odbc_result( $temp,2 )."
";
echo(", \");
echo(\"\");
}
echo(\"\");
echo(\"\");
echo("
");
}



odbc_close($cnx);
?>

[../sommaire_agenda/sommaire_agenda.html Retour au sommaire de l'agenda ]

</html>

normalement c'est bon. il faut le mettre à l'intérieur de la boucle while pour qu'il passe en revue toutes les dates.
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

meme celle avant 17/03/2005 pardon

j'ai esayé de mettre aussi
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE datebd < '".$datebd."'");

ça marche toujours pas
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
j'ai oublié de changer dans la requet datebd par date_bis :


if ( $date_bis< $date_tete)
{
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE datebd = '".$date_bis."'");
}

voila
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

oui , j'ai mis ton code mais ça marche toujours pas il m'affiche toutes les dates
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

et là, il efface toute les dates
Messages postés
198
Date d'inscription
jeudi 3 février 2005
Statut
Membre
Dernière intervention
16 décembre 2008
1
ok je vois la belle erreur.....

while( odbc_fetch_row( $datebd ) ) //tant que c pas la fin de la table
{

$date_bis=odbc_result( $datebd,1 );

if ( $date_bis< $date_tete)
{
$eff=odbc_exec ($cnx, "DELETE FROM agenda WHERE datebd = '".$datebd."'");
}
else{

echo ("
");
echo ("
");
echo ("
");
echo("\");
echo(\"----
\");
echo(\"");
echo $date_bis."
";
echo(", \");
echo(\"\");
echo(\"----
\");

$temp=odbc_exec($cnx, \"select heure, texte from agenda where
datebd='\".$date_bis.\"'\".\"order by heure\");
while( odbc_fetch_row( $temp ) ) //tant que c pas la fin de la table
{
echo(\"----
\");
echo(\"");
echo odbc_result( $temp,1 )."
";
echo(", \");
echo(\"");
echo odbc_result( $temp,2 )."
";
echo(", \");
echo(\"\");
}
echo(\"\");
echo(\"\");
echo("
");

}
}



si ça marche pas je me fais moine....
Messages postés
67
Date d'inscription
lundi 17 janvier 2005
Statut
Membre
Dernière intervention
3 avril 2006

je croi que tu doi te faire moine puis que ça marche pas lolol