Problemes sur les dates toujours pas résolus

Résolu
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006 - 16 mars 2005 à 10:34
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 - 22 mars 2005 à 17:01
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

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

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

loic1.picard@laposte.net

@+
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
16 mars 2005 à 16:15
ok
merci pour ton aide
si je trouve je te le dirai

bisous
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
16 mars 2005 à 16:18
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
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 09:56
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
17 mars 2005 à 09:59
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 ");
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 10:38
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
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
17 mars 2005 à 10:43
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
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 10:51
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
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
17 mars 2005 à 10:57
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.
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
17 mars 2005 à 11:03
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.
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 11:13
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
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
17 mars 2005 à 11:16
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.
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 11:26
ç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>
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
17 mars 2005 à 11:29
<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.
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 11:30
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
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
17 mars 2005 à 11:30
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
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 11:35
oui , j'ai mis ton code mais ça marche toujours pas il m'affiche toutes les dates
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 11:38
et là, il efface toute les dates
0
loyousse Messages postés 198 Date d'inscription jeudi 3 février 2005 Statut Membre Dernière intervention 16 décembre 2008 1
17 mars 2005 à 11:39
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....
0
rukiyes Messages postés 67 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 3 avril 2006
17 mars 2005 à 11:49
je croi que tu doi te faire moine puis que ça marche pas lolol
0
Rejoignez-nous