erreur timestamp

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 : erreur timestamp

Re: erreur timestamp

par david18 » 21 nov. 2009, 12:14

c'est bon c'est fait

Re: erreur timestamp

par Dr@ke » 21 nov. 2009, 02:22

Ok n'oublies pas de cliquer résolut :wink:

Re: erreur timestamp

par david18 » 21 nov. 2009, 01:58

A ce que je vois, j'ai l'impression que ca marche,

si j'ai une nouvelle probleme avec ce fichier, je vous le dirai,

merci pour votre aide

Re: erreur timestamp

par david18 » 20 nov. 2009, 16:49

Merci, je vais attendre demain, pour voir ce qu'il me fait, et je vous tiens au courant

Re: erreur timestamp

par Dr@ke » 20 nov. 2009, 16:03

Logiquement oui.
Te remet le résumé du script, au cas ou:
<?php
include('./includes/haut.php');

echo '<div id="concert">
<p>
<table>
        <tr>
             <th>Nom de l\'artiste : </th>
             <th>Date : </th>
             <th>ville : </th>
             <th>Tarif : </th>
             <th>reservation : </th>
        </tr>';

mysql_connect("", "", "") or die('Erreur: ' . mysql_error());
mysql_select_db("");
$result = mysql_query("DELETE FROM `concert` WHERE `date` < NOW()");
$result = mysql_query("SELECT * FROM `concert` ORDER BY `date` DESC");   

while($concert = mysql_fetch_array($result))
{
echo "<tr>
<td>".$concert['nom']. "</td>
<td>".$concert['date']."</td>
<td>".$concert['ville']."</td>
<td>".$concert['tarif']."</td>
<td>" .$concert['reservation']."</td>
</tr>";
}

echo '</table>
</p></div>';
   
include('./includes/bas.php');
?>
je l'ai modifié et simplifié un peu :wink: .

[EDIT]
Ah puis en simplifiant le script me suis aperçut d'une erreur dans la requête DELETE.

La requête doit être: (faut enlever le * )
$result = mysql_query("DELETE FROM `concert` WHERE `date` < NOW()");

Re: erreur timestamp

par david18 » 20 nov. 2009, 15:39

j'ai corrigé, j'ai mis datetime, la normalement, la date passé sera supprimé?

je viens d'essayer avec une date qui est passé, mais il affiche toujours, donc j'ai mis maintenant le 20/11 je vais voir si demain la date est supprimé ou pas

merci par avance pour votre aide

Re: erreur timestamp

par Dr@ke » 20 nov. 2009, 15:07

Le type du champ date, doit être DATETIME justement pour pouvoir utiliser toutes les fonctions SQL de comparaison de dates...

Re: erreur timestamp

par david18 » 20 nov. 2009, 15:01

le type pour la date que j'ai mis dans ma bdd c'est text

merci par avance

Re: erreur timestamp

par Dr@ke » 20 nov. 2009, 14:50

La raison est surement que la date enregistrée dans ta BD n'est pas dans le même format que NOW().
Donc:
date < NOW() -> n'est jamais inferieur à NOW().

Vue que maintenant tu utilises NOW() dans le DELETE, il faut aussi utiliser NOW() pour enregistrer la date dans la BD, pour que les formats soient les même et donc que l'on puisse les comparer...

[EDIT]
Le format de NOW() (timestamp) est sous la forme AAAA-MM-DD HH:MM:SS.
Exemple:
2009-11-20 11:23:37

Re: erreur timestamp

par david18 » 20 nov. 2009, 14:40

je viens de voir si ca marche ou pas, mais la date passé n''est pas supprimé.
j'avais mis pour exemple, 2 dates: le 19 et le 20 mais le 19 est toujours affiché. alors qu'il ne devrait etre affiché que le 20 car le 20 n'est pas passé.

vous pouvez m'aider SVP,

merci par avance,

Re: erreur timestamp

par david18 » 19 nov. 2009, 22:54

Maintenant, il n'affiche plus d'erreur, j'ai ajouté un concert pour voir ce qui me fait.

je vous tiens au courant, si ca marche ou pas

je voulais juste savoir s'il ne marche pas, demain j'ouvre un nouveau topic, ou celui la?

Merci,

Re: erreur timestamp

par Dr@ke » 19 nov. 2009, 22:39

Non le DELETE corrigé par Stopher et ensuite un SELECT, du style:
$result = mysql_query("DELETE * FROM concert WHERE date < NOW() ORDER BY date DESC");
// Pas la peine d'utiliser NOW().. puisque tu as déjà supprimé juste avant
$result = mysql_query("SELECT * FROM concert ORDER BY date DESC");
[EDIT]
on peut même supprimer le order dans le DELELE, cela devient inutile, donc:
$result = mysql_query("DELETE * FROM concert WHERE date < NOW()");
// Pas la peine d'utiliser NOW().. puisque tu as déjà supprimé juste avant
$result = mysql_query("SELECT * FROM concert ORDER BY date DESC");

Re: erreur timestamp

par david18 » 19 nov. 2009, 21:52

ca veut dire que je dois faire ca:
("DELETE * FROM concert WHERE date < NOW() ORDER BY date DESC")
et juste apres
("SELECT * FROM concert WHERE date < ".time."() ORDER BY date DESC")

c'est bien ca?

merci par avance pour votre aide

Re: erreur timestamp

par Dr@ke » 19 nov. 2009, 20:17

ok oui si tu veux supprimer c'est DELETE et oui faut utiliser NOW() et non time().

Le problème c'est que :
while($concert = mysql_fetch_array($result))
-> prend en compte un résultat, donc pas certain que cela fonctionne avec un DELETE, mais la c'est a confirmer, te faudra peut-être faire un SELECT après le DELETE juste avant ta boucle...

Re: erreur timestamp

par david18 » 19 nov. 2009, 20:13

mais si je met select, il va supprimé les dates passé (ou selectioner les prochaines dates)?

merci par avance