Insertion enregistrement PHP SQL en double
Fermé
Bonjour,
Je viens de créer sur mon site un livre d'or avec une base de données Mysql et php pour la page internet.
Quand je remplis mon formulaire avec pseudo, message, etc... il me la crée deux fois dans la base de données.
D'ou cela peut venir?
A savoir que j'ai fait plusieurs tests auparavant et qu'il y a peut etre un bout de code qui reste sur ma page php, mais je connais pas assez.
Merci de votre réponse.
Je viens de créer sur mon site un livre d'or avec une base de données Mysql et php pour la page internet.
Quand je remplis mon formulaire avec pseudo, message, etc... il me la crée deux fois dans la base de données.
D'ou cela peut venir?
A savoir que j'ai fait plusieurs tests auparavant et qu'il y a peut etre un bout de code qui reste sur ma page php, mais je connais pas assez.
Merci de votre réponse.
A voir également:
- Insertion enregistrement PHP SQL en double
- Double ecran - Guide
- Whatsapp double sim - Guide
- Insertion liste déroulante excel - Guide
- Insertion sommaire word - Guide
- Double appel - Guide
21 réponses
Bon je viens d'essayer tout ca, du coup il me sort qu'un seul tiret.
Je vais te mettre ce que j'ai mis dans ma fonction php:
function conversion_date($english_date)
{
/* La date récupérée depuis un champs Sql donnera un truc comme ça:
$date="2004-01-05"; */
/* $tab_english_date est la date anglaise sous forme de tableau (avec les "-"
comme séparateur) */
$tab_english_date=explode("-",$english_date);
$date_france='';
for ($compteur=2;$compteur>=0;$compteur--)
{
// Lorsqu'on arrive à l'année, on ne met pas de tirêt à la fin :-)
if ($compteur==0)
{
$date_france.=$tab_english_date[$compteur];
}
// On inverse ce tableau et on l'affecte à $date_france en remettant les "-"
else
{
$date_france.=$tab_english_date[$compteur] . "-";
}
return $date_france;
}
}
$french_date=conversion_date($row_guestbook['date']);
Ensuite pour afficher la date, voici la fonction :
<?php echo $french_date; ?>
Avant, ma fonction était celle ci :
<?php echo $row_guestbook['date']; ?>
La je seche completement...
Je vais te mettre ce que j'ai mis dans ma fonction php:
function conversion_date($english_date)
{
/* La date récupérée depuis un champs Sql donnera un truc comme ça:
$date="2004-01-05"; */
/* $tab_english_date est la date anglaise sous forme de tableau (avec les "-"
comme séparateur) */
$tab_english_date=explode("-",$english_date);
$date_france='';
for ($compteur=2;$compteur>=0;$compteur--)
{
// Lorsqu'on arrive à l'année, on ne met pas de tirêt à la fin :-)
if ($compteur==0)
{
$date_france.=$tab_english_date[$compteur];
}
// On inverse ce tableau et on l'affecte à $date_france en remettant les "-"
else
{
$date_france.=$tab_english_date[$compteur] . "-";
}
return $date_france;
}
}
$french_date=conversion_date($row_guestbook['date']);
Ensuite pour afficher la date, voici la fonction :
<?php echo $french_date; ?>
Avant, ma fonction était celle ci :
<?php echo $row_guestbook['date']; ?>
La je seche completement...
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
5 janv. 2005 à 23:59
5 janv. 2005 à 23:59
Ok. Tu pourrais me coller ici ce que te retourne :
echo $row_guestbook['date'];
et ensuite:
echo $french_date;
Et je verrai ça demain matin.... Bonne nuit :-)
echo $row_guestbook['date'];
et ensuite:
echo $french_date;
Et je verrai ça demain matin.... Bonne nuit :-)
Sm95ZXVzZXMgZup0ZXMgOi0p
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
8 janv. 2005 à 00:17
8 janv. 2005 à 00:17
Ben oui tu as mal recopié, l'avant dernière accolade se situe avant " return $date_france; " et non pas après :-)
Et tu as aussi la solution de Gallynet.
Et tu as aussi la solution de Gallynet.
Sm95ZXVzZXMgZup0ZXMgOi0p
freddy
>
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
8 janv. 2005 à 00:27
8 janv. 2005 à 00:27
Bah du coup maintenant il me met deux -- à la place de 1 tout à l'heure.
J'aurai bien essayé la méthode gallynetienne mais comme je suis sousdoué en php, j'ai pas tout compris à vrai dire.. :)
J'aurai bien essayé la méthode gallynetienne mais comme je suis sousdoué en php, j'ai pas tout compris à vrai dire.. :)
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
>
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
8 janv. 2005 à 00:50
8 janv. 2005 à 00:50
Je comprends pas, chez moi ça marche bien...
Pour utiliser la methode de Gallynet, tu copies-colle ça (j'ai corrigé deux trois fautes)
Puis, même système que pour l'autre fonction:
Et voilà :-)
Pour utiliser la methode de Gallynet, tu copies-colle ça (j'ai corrigé deux trois fautes)
function dateSqlToString($english_date){ // tout d'abord tu utilises bien la fontion explode $tab_date=explode("-",$english_date); //tu crées un timestamp unix avec $time_date = mktime(0, 0, 0, $tab_date[1], $tab_date[2], $tab_date[0]); // tu recrées la date selon le format voulu grace à la fonction date() return date("d-m-Y",$time_date); }
Puis, même système que pour l'autre fonction:
$french_date=dateSqlToString($row_guestbook['date']); echo $french_date;
Et voilà :-)
Sm95ZXVzZXMgZup0ZXMgOi0p
Freddy
>
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
8 janv. 2005 à 01:10
8 janv. 2005 à 01:10
Bon y'a du mieux ma foi !! ouf je respire !!
Seul problème, il m'affiche bien la date sous forme jjmmaaaa, sauf qu'il me met 01-01-1970 au lieu de 06-01-2005 un truc comme ca.
Allez encore un petit effort....
Seul problème, il m'affiche bien la date sous forme jjmmaaaa, sauf qu'il me met 01-01-1970 au lieu de 06-01-2005 un truc comme ca.
Allez encore un petit effort....
Dsl mais ca marche pas non plus, il ne m'affiche rien en face des jours date année, peut etre que c'est moi qui merde, mais comme je pipe que dalle !!!
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
8 janv. 2005 à 14:32
8 janv. 2005 à 14:32
Ca na marche pas avec le message 19 de Gallynet?
Sm95ZXVzZXMgZup0ZXMgOi0p
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
GallyNet
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
387
8 janv. 2005 à 18:13
8 janv. 2005 à 18:13
Il faut que tu fasse plusieur test:
en premier affiche la date que tu sort de ta base MySQL, dans le genre:
(Ou avec ta manière)
Si la date que tu affiche est correct tu essaye ensuite la fonction explode:
si tout ca marche tu test enfin les fonctions date() et mktime():
fait tout ca en dehors d'une fonction, dans un script ou tu ne fait que ces tests. Essaye et dit nous toutes les erreurs que tu aura.
en premier affiche la date que tu sort de ta base MySQL, dans le genre:
$sql="SELECT date FROM mabase WHERE id=1"; $result=mysql_query($sql); echo mysql_result($result,0,'date');
(Ou avec ta manière)
Si la date que tu affiche est correct tu essaye ensuite la fonction explode:
$table_date=explode('-',$date); echo $table // Doit t'afficher " Array " foreach($table as $value){ echo $value.'<br>'; // Doit t'afficher les trois valeur de ta date }
si tout ca marche tu test enfin les fonctions date() et mktime():
$time_date = mktime(0, 0, 0, $tab_date[1], $tab_date[2], $tab_date[0]); echo date("d-m-Y",$time_date);
fait tout ca en dehors d'une fonction, dans un script ou tu ne fait que ces tests. Essaye et dit nous toutes les erreurs que tu aura.
Alors voici ma page pour les tests :
<?php require_once('../Connections/guestbook.php'); ?>
<?php
$sql="SELECT date FROM message WHERE id=1";
$result=mysql_query($sql);
echo mysql_result($result,0,'date');
$table_date=explode('-',$date);
echo $table
foreach($table as $value){
echo $value.'<br>';
}
?>
La 1ere fonction m'a marqué 2005-01-05 cad ma date a l'envers
Quand j'ai rajouté la deuxieme fonction, il me met ce message :
Parse error: parse error, unexpected T_FOREACH, expecting ',' or ';' in /var/www/html/guestbook/test.php on line 10
Peut etre ai-je oublié quelque chose?
<?php require_once('../Connections/guestbook.php'); ?>
<?php
$sql="SELECT date FROM message WHERE id=1";
$result=mysql_query($sql);
echo mysql_result($result,0,'date');
$table_date=explode('-',$date);
echo $table
foreach($table as $value){
echo $value.'<br>';
}
?>
La 1ere fonction m'a marqué 2005-01-05 cad ma date a l'envers
Quand j'ai rajouté la deuxieme fonction, il me met ce message :
Parse error: parse error, unexpected T_FOREACH, expecting ',' or ';' in /var/www/html/guestbook/test.php on line 10
Peut etre ai-je oublié quelque chose?
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
8 janv. 2005 à 20:35
8 janv. 2005 à 20:35
Remplace echo $table par echo $table; (le point virgule :-)
Sm95ZXVzZXMgZup0ZXMgOi0p
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
8 janv. 2005 à 21:28
8 janv. 2005 à 21:28
Remplace
par
Ca devrait aller.
$table_date=explode('-',$date); echo $table foreach($table as $value){ echo $value.'<br>'; } ?>
par
$table_date=explode('-',$date); echo $table_date; foreach($table_date as $value){ echo $value.'<br>'; }
Ca devrait aller.
Sm95ZXVzZXMgZup0ZXMgOi0p
C'est ce que j'ai fait, il met met ceci :
2005-01-05Array
Il devrait m'afficher les dates séparées non?
2005-01-05Array
Il devrait m'afficher les dates séparées non?
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
9 janv. 2005 à 02:48
9 janv. 2005 à 02:48
Bon, en effet on devrait voir la date une fois, puis "array" puis encore la date...
Reprenons depuis le début.
Retape ceci (on va finir par y arriver :-)
Ca donne quoi?
Reprenons depuis le début.
Retape ceci (on va finir par y arriver :-)
<?php require_once('../Connections/guestbook.php'); $sql="SELECT date FROM message WHERE id=1"; $result=mysql_query($sql); $date=mysql_result($result,0); echo $date . " ( La date est bien récupérée depuis la base de données)<br><br>"; $table_date=explode('-',$date); echo "Le shéma du tableau créé avec les champs année, mois et jour séparés:<br>"; print_r ($table_date); echo "<br><br>Affichage de chaque élément de la date un par un:<br>"; foreach($table_date as $value){ echo $value.'<br>'; } $time_date = mktime(0, 0, 0, $table_date[1], $table_date[2], $table_date[0]); echo "<br><br>La date au format que tu voulais: " . date("d-m-Y",$time_date); } ?>
Ca donne quoi?
Sm95ZXVzZXMgZup0ZXMgOi0p
Bon voila ce que ca me donne :
2005-01-05 ( La date est bien récupérée depuis la base de données)
Le shéma du tableau créé avec les champs année, mois et jour séparés:
Array ( [0] => 2005 [1] => 01 [2] => 05 )
Affichage de chaque élément de la date un par un:
2005
01
05
La date au format que tu voulais: 05-01-2005
Je crois qu'on est bon la !!
Faut que je colle le code dans ma vraie page ou y'a des modifs à faire?
Packe quand j'acutalise ma page, il me met par moment ce message :
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/html/guestbook/test.php on line 5
( La date est bien récupérée depuis la base de données)
Le shéma du tableau créé avec les champs année, mois et jour séparés:
Array ( [0] => )
Affichage de chaque élément de la date un par un:
La date au format que tu voulais: 01-01-1970
En réactualisant ensuite, ca fonctionne..
2005-01-05 ( La date est bien récupérée depuis la base de données)
Le shéma du tableau créé avec les champs année, mois et jour séparés:
Array ( [0] => 2005 [1] => 01 [2] => 05 )
Affichage de chaque élément de la date un par un:
2005
01
05
La date au format que tu voulais: 05-01-2005
Je crois qu'on est bon la !!
Faut que je colle le code dans ma vraie page ou y'a des modifs à faire?
Packe quand j'acutalise ma page, il me met par moment ce message :
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /var/www/html/guestbook/test.php on line 5
( La date est bien récupérée depuis la base de données)
Le shéma du tableau créé avec les champs année, mois et jour séparés:
Array ( [0] => )
Affichage de chaque élément de la date un par un:
La date au format que tu voulais: 01-01-1970
En réactualisant ensuite, ca fonctionne..
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
9 janv. 2005 à 16:30
9 janv. 2005 à 16:30
Ah? Tiens c'est bizzare qu'à la première actualisation de la page ça ne marche pas. Bon alors sans procéder par les étapes et pour afficher directement la date, c'est:
Voilà. Mais bon si ça marche pas à tout les coups.... C'est pas pratique de traîner une erreur comme ça. C'est dreamweaver qui génère ce code Php?
<?php require_once('../Connections/guestbook.php'); $sql="SELECT date FROM message WHERE id=1"; $result=mysql_query($sql); $date=@mysql_result($result,0); $table_date=explode('-',$date); $time_date = mktime(0, 0, 0, $table_date[1], $table_date[2], $table_date[0]); $date_france=date("d-m-Y",$time_date); if ($date_france != "01-01-1970") { echo $date_france; } else { echo "Date erronée...."; } ?>
Voilà. Mais bon si ça marche pas à tout les coups.... C'est pas pratique de traîner une erreur comme ça. C'est dreamweaver qui génère ce code Php?
Sm95ZXVzZXMgZup0ZXMgOi0p
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
9 janv. 2005 à 16:36
9 janv. 2005 à 16:36
Essaie déjà ce scipt tel quel.
Si ça marche mais qu'il se passe la même erreur en réactualisant la page, remplace tout en haut le require_once(......) par require(......)
Si ça marche mais qu'il se passe la même erreur en réactualisant la page, remplace tout en haut le require_once(......) par require(......)
Sm95ZXVzZXMgZup0ZXMgOi0p
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
10 janv. 2005 à 09:03
10 janv. 2005 à 09:03
C'est bien fait Dreamweaver, mais je ne pense pas qu'un logiciel qui génère du code Php puisse remplacer une programmation-maison :-)
Je dis ça mais je n'ai jamais essayé, mais à mon avis Dreamweaver est plus adapté à la mise en page des sites. La programmation il vaut mieux la faire soi-même...
Je dis ça mais je n'ai jamais essayé, mais à mon avis Dreamweaver est plus adapté à la mise en page des sites. La programmation il vaut mieux la faire soi-même...
Sm95ZXVzZXMgZup0ZXMgOi0p
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
5 janv. 2005 à 22:51
5 janv. 2005 à 22:51
Salut,
Tu l'as créé toi même?
Donne nous plus de détails...
Tu l'as créé toi même?
Donne nous plus de détails...
Sm95ZXVzZXMgZup0ZXMgOi0p
Je l'ai crée avec dream weaver, et c'est bien ce qu'il me semblait,j'avais deux fois la fonction d'insertion d'enregistrement.
J'ai corrigé, c'est bon maintenant.
Par contre j'ai une autre question si tu peux m'aider.
Dans Sql, les dates s'affichent sous forme YYYY-MM-AA, comment faire pour les remettre à l'affichage sous format francais?
J'ai beau regarder sur le net, je ne vois rien.
Merci
J'ai corrigé, c'est bon maintenant.
Par contre j'ai une autre question si tu peux m'aider.
Dans Sql, les dates s'affichent sous forme YYYY-MM-AA, comment faire pour les remettre à l'affichage sous format francais?
J'ai beau regarder sur le net, je ne vois rien.
Merci
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
5 janv. 2005 à 23:22
5 janv. 2005 à 23:22
Je vais reprendre l'idée de quelqu'un sur un post de CCM il ya quelques temps.
Il faut utiliser la fonction explode() (http://fr2.php.net/manual/fr/function.explode.php) pour décomposer la date (qui est une chaine de caractère) en tableau, puis inverser ce tableau.
Pour l'utiliser, imaginons que tu as récupéré une date de ta base de données vers une variable nommée $date:
Valà :-) Désolé si le code part dans tout les sens, j'ai du mal à le mettre en forme ici....
Il faut utiliser la fonction explode() (http://fr2.php.net/manual/fr/function.explode.php) pour décomposer la date (qui est une chaine de caractère) en tableau, puis inverser ce tableau.
<? function conversion_date($english_date) { /* La date récupérée depuis un champs Sql donnera un truc comme ça: $date="2004-01-05"; */ /* $tab_english_date est la date anglaise sous forme de tableau (avec les "-" comme séparateur) */ $tab_english_date=explode("-",$english_date); $date_france=''; for ($compteur=2;$compteur>=0;$compteur--) { /* On inverse ce tableau et on l'affecte à $date_france en remettant les "-" */ $date_france.=$tab_english_date[$compteur] . "-"; } return $date_france; } ?>
Pour l'utiliser, imaginons que tu as récupéré une date de ta base de données vers une variable nommée $date:
$date="2004-01-05"; $french_date=conversion_date($date); echo $french_date;
Valà :-) Désolé si le code part dans tout les sens, j'ai du mal à le mettre en forme ici....
Sm95ZXVzZXMgZup0ZXMgOi0p
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
5 janv. 2005 à 23:35
5 janv. 2005 à 23:35
Il ya encore un tirêt après l'année, j'ai corrigé ça dans la fonction:
Voilà....
for ($compteur=2;$compteur>=0;$compteur--) { // Lorsqu'on arrive à l'année, on ne met pas de tirêt à la fin :-) if ($compteur==0) { $date_france.=$tab_english_date[$compteur]; } // On inverse ce tableau et on l'affecte à $date_france en remettant les "-" else { $date_france.=$tab_english_date[$compteur] . "-"; } }
Voilà....
Sm95ZXVzZXMgZup0ZXMgOi0p
GallyNet
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
387
6 janv. 2005 à 11:35
6 janv. 2005 à 11:35
il y a une autre méthode à faire qui est peu être plus pratique:
utilisé les fonctions mktime() et date()
Après tu change le format donné dans la fonction date et tu pourra avoir une date foraté comme tu le veut.
utilisé les fonctions mktime() et date()
fonction dateSqlToString($date){ // tout d'abord tu utilise bien la fontion explode $tab_date=explode("-",$english_date); //tu créer un timestamp unix avec $time_date = mktime(0, 0, 0, date[1], date[0], date[2]); // tu recrée la date selon le format voulu grace à la fonction date() return date("d-m-Y",$time_date); }
Après tu change le format donné dans la fonction date et tu pourra avoir une date foraté comme tu le veut.
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
7 janv. 2005 à 08:30
7 janv. 2005 à 08:30
Salut Gallynet,
Merci pour l'astuce, je connaissais pas :-)
Merci pour l'astuce, je connaissais pas :-)
Sm95ZXVzZXMgZup0ZXMgOi0p
GallyNet
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
387
>
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
8 janv. 2005 à 11:22
8 janv. 2005 à 11:22
A ce que j'ai crus comprendre j'avais fait des fautes ! Je suis désolé mais j'espère que le principe de la fionction et bien respecté.
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
1 526
>
kilian
Messages postés
8732
Date d'inscription
vendredi 19 septembre 2003
Statut
Non membre
Dernière intervention
5 février 2025
8 janv. 2005 à 11:37
8 janv. 2005 à 11:37
Salut,
Oui je pense, en tout cas chez moi ça marche bien. Et les fautes c'étaient des confusions / inversion entre les variables (le jour et l'année étaient inversés dans mktime()
Oui je pense, en tout cas chez moi ça marche bien. Et les fautes c'étaient des confusions / inversion entre les variables (le jour et l'année étaient inversés dans mktime()
Sm95ZXVzZXMgZup0ZXMgOi0p
Voila l'affichage :
2005-01-05
Warning: Invalid argument supplied for foreach() in /var/www/html/guestbook/test.php on line 10
2005-01-05
Warning: Invalid argument supplied for foreach() in /var/www/html/guestbook/test.php on line 10
Ben je suis bien d'accord, mais le seul hic, c'est qu'il faut connaitre.
Au pire je vais le lassier comme ca, c'est pas non plus un site de pro :)
Par contre, dans le dernier test on avait mis ceci au début :
$sql="SELECT date FROM message WHERE id=1";
Ca marche bien pour le 1er enregistrement mais pour les suivants, comment pourrais-je faire?
Je ne vais pas créer un sql à chaque fois???
En tout cas si tu passes par chez moi, t'auras le droit de t'arreter prendre un jus :)
Au pire je vais le lassier comme ca, c'est pas non plus un site de pro :)
Par contre, dans le dernier test on avait mis ceci au début :
$sql="SELECT date FROM message WHERE id=1";
Ca marche bien pour le 1er enregistrement mais pour les suivants, comment pourrais-je faire?
Je ne vais pas créer un sql à chaque fois???
En tout cas si tu passes par chez moi, t'auras le droit de t'arreter prendre un jus :)
GallyNet
Messages postés
434
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
15 décembre 2008
387
10 janv. 2005 à 22:01
10 janv. 2005 à 22:01
Et moi alors on m'invite pas ? :-(
Pour ta question sur le sql: tu veut prendre tout les message en une fois ? Dans ce cas tu change d'abord la requete en ele même:
sans le WHERE, MySQL va prendre tout les enregistrement. Si tu veut que tes enregistrement soit trier dans l'ordre, selon la date tu rajoute ORDER BY et ASC ou DESC (respectivement Ascendant et descandant) pour le sens du tri:
Après ca tu récupère le résultat:
Contrairement a avant, ton résultat aura plusieurs ligne. Pour accéder à chacune d'elles on utiliise la fonction mysql_fetch_array() (qui te renvoie la prochaine ligne sous forme de tableau, ou FALSE s'il n'y a pas ou plus de ligne):
Et voila en gros comment tu doit faire.
Pour ta question sur le sql: tu veut prendre tout les message en une fois ? Dans ce cas tu change d'abord la requete en ele même:
sql="SELECT date FROM message";
sans le WHERE, MySQL va prendre tout les enregistrement. Si tu veut que tes enregistrement soit trier dans l'ordre, selon la date tu rajoute ORDER BY et ASC ou DESC (respectivement Ascendant et descandant) pour le sens du tri:
sql="SELECT date FROM message ORDER BY date DESC";
Après ca tu récupère le résultat:
$result=mysql_query($sql);
Contrairement a avant, ton résultat aura plusieurs ligne. Pour accéder à chacune d'elles on utiliise la fonction mysql_fetch_array() (qui te renvoie la prochaine ligne sous forme de tableau, ou FALSE s'il n'y a pas ou plus de ligne):
while($row=mysql_fetch_array($result)){ $table_date=explode('-',$row['date']); $time_date = mktime(0, 0, 0, $table_date[1], $table_date[2], $table_date[0]); ... }
Et voila en gros comment tu doit faire.