récupération de date mysql avec php

Invité
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 00:25

J'ai une table, appelée "cycle".
Cette table est composée de 5 champs: id, debut, fin, quantite, statut.

Quand l'utilisateur se connecte, on vérifie si la date de "fin" n'est pas dépassée. Si c'est le cas, on recrée une nouvelle ligne, avec statut = "On", et on change le statut de l'ancienne ligne en "Off".

Bon, après cela (et c'est là que tu interviens) je veux récupérer la date 'fin' de l'ancienne ligne et l'insérer dans la nouvelle en tant que 'debut'.
Et enfin, ajouter 21 jours à cette date 'debut' pour obtenir la nouvelle date 'fin'.

Merci beaucoup de ton aide.

Invité
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 09:54

Pardon, j'ai oublié: le champs debut et fin sont du type datetime.

Mammouth du PHP | 19672 Messages

04 oct. 2005, 10:15

Ha ben là, c'est nettement plus clair. mais effectivement, il y aura deux requêtes: la première va créer la nouvelle ligne, la seconde va mettre l'ancienne à jour. En fait, trois requêtes puisqu'il y en aura une première avant ça qui vérifiera le contenu d'une ligne pour savoir si on la change ou non.

Le schéma sommaire sera alors le suivant :
// On se connecte et on consulte la table pour trouver l'id correspondant à l'internaute et récupérer la date du champ fin (et l'id de la ligne);
$sql1 = "SELECT `id`, `debut`, `fin`, `quantite`, `statut` FROM `cycle` WHERE condition de selection..";
// On récupère et on met les valeurs en variables ré-utilisables
if("Si la date de fin" > "aujourd'hui")
{
    // Création d'une nouvelle ligne avec une partie des données de l'ancienne:
    $debut = date("Y-m-d");
    $fin   = "Calcul pour mettre $debut + 21 jours";
    $sql2 = "INSERT INTO `cycle` (`debut`, `fin`, `quantite`, `statut`) VALUES('". $debut ."', '". fin ."', ". quantite .", 'On')";
    // Après exécution de $sql2, on fait la mise à jour de l'autre ligne
    $sql3 = "UPDATE `cycle` SET statut = 'Off' WHERE id = ". $id_sauvegarde .";";
    // Exécution et on a terminé.
}
else
{
   // rien
}
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 10:27

Merci mille fois. Je vais essayer tout ça.

Invité
Invité n'ayant pas de compte PHPfrance

05 oct. 2005, 10:34

Voilà, tout fonctionne. Merci de ton aide. J'enverrai le code complet un peu plus tard, au cas où ça puisse servir à d'autres.

momo
Invité n'ayant pas de compte PHPfrance

03 nov. 2005, 15:50

Moi j'implémente un moteur de recherche avec :
- choix du type d'annonce
- choix du sous type
- choix de la période
- choix de la zone géographique

Je rencontre le meme probleme vus que l'on a droit qu'a 1 seul WHERE par requete, il faudrait que j'en utilise 4
ou bien que je fasse 4 requetes en passant à chaque fois les parametres de la requete précédente ? (c'est l'enfer)
A L'AIDE ... MERCI

Invité
Invité n'ayant pas de compte PHPfrance

03 nov. 2005, 18:20

c bon laissez tomber
:!: :?: :idea: :arrow:
g résolu mon probleme ...
:D :) :( :o
:shock: :? 8) :lol:
:x :P :oops: :cry:
:evil: :twisted: :roll: :wink: