par
Cyrano » 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
}
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 :
[php]// 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
}[/php]