Suppression d'une table au bout d'une semaine

Eléphant du PHP | 111 Messages

03 févr. 2014, 21:40

Bonjour, Bonsoir :3

Donc voilà, j'ajoute un duel grâce à se code :

if($_POST) {
$photo1 = $_POST['photo1'];
$photo2 = $_POST['photo2'];
$id_membre = $id;



$sql = "INSERT INTO duel(photo1, photo2,id_membre)";
$sql .= "VALUES('$photo1', '$photo2','$id_membre')";
$result = mysql_query($sql) or die(mysql_error());
}
?>
J'ai une table "Date" :
Image

La date se mets toute seule dans la base de donnée

Donc voici mon probleme,

Je voudrais faire un systeme qui supprime la table au bout d'une semaine.

Merci beaucoup de votre aide. :) :) :D

ViPHP
xTG
ViPHP | 7331 Messages

03 févr. 2014, 21:54

Tu as un énorme souci de conception...
Pourquoi supprimer une table ?
Si tu dois supprimer quelque chose ce sont des enregistrements et rien d'autre !
Ton problème est donc que tu n'as pas réfléchi à une modélisation où plusieurs duels cohabiteraient dans une table.
Je te laisse une semaine avant de revenir avec le fouet... :non:

Eléphant du PHP | 111 Messages

03 févr. 2014, 22:03

Tu as un énorme souci de conception...
Pourquoi supprimer une table ?
Si tu dois supprimer quelque chose ce sont des enregistrements et rien d'autre !
Ton problème est donc que tu n'as pas réfléchi à une modélisation où plusieurs duels cohabiteraient dans une table.
Je te laisse une semaine avant de revenir avec le fouet... :non:
Je ne vois pas mon erreur,

J'ai une table et si la date actuelle est supérieur à 7 jours de la table se supprime.

Mammouth du PHP | 2278 Messages

04 févr. 2014, 11:14

Je ne comprends pâs mieux que XTG, mais je vais le dire autrement.I
Il suffit de vider la table; mais s'il y a des enregistrements qui datent de la veille:
ex:
lundi : id 1 toto
mercredi : id 2 titi
...
dimanche : id 712 coincé

Que fait-on le lundi suivant?
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Petit nouveau ! | 7 Messages

04 févr. 2014, 12:55

Je suis d'accord avec les différentes réponses.
Je ne vois pas l'intérêt de créer une table pour la supprimer et la recréer par la suite, sauf à changer son nom.

Lorsque tu parles de supprimer au bout d'une semaine, tu veux :
A- tout vider par exemple le dimanche (ce qui revient effectivement à la supprimer et à la recréer)
la je ferai un cron mysql ou un fichier php appelé par un cron qui vide tout

B- n'avoir que des fiches de moins de 7 jours ?
là je ferai une requête quotidienne qui efface les fiches dont le champ DateCreation < aujourd'hui -7j

Carpediem
Invité n'ayant pas de compte PHPfrance

08 févr. 2014, 17:42

Bonjour,

Je pense qu'il souhaite donc créer des duels et au bout d'une semaine les effacer. Je suis tout a fait d'accord avec ce que vous dites depuis le début du post. Il faut créer une table nommé par exemple duel, tu y rentres les informations nécessaires. Rajoute à chacune de tes entrées le timestamp actuel au moment ou tu rentres les infos et quand le timestamp 1 semaine après est égale au timestamp quand tu as rentré les infos + 1 semaine, tu supprimes les entrées correspondante. Si tes duels sont fait de façon aléatoire, il y a quelques moyens de créer des duels aléatoirement depuis une seule table et sans avoir besoin de l'effacer systématiquement.

Cordialement