Ok, merci Anthor, je vais essayer ca, je pense avoir compris ce que tu veux dire.
Y a un truc que j'ai du mal à comprendre, est ce qu'il y a une différence d'exécution entre ton code, et ca (est ce que ca poserait un problème en cas d'exécution multiple ?), j'ai simplement sorti la gestion du champs Traite==0, et enlevé le $result['Traite']==0 dans la condition d'exécution :
Y a un truc que j'ai du mal à comprendre, est ce qu'il y a une différence d'exécution entre ton code, et ca (est ce que ca poserait un problème en cas d'exécution multiple ?), j'ai simplement sorti la gestion du champs Traite==0, et enlevé le $result['Traite']==0 dans la condition d'exécution :
Code PHP :
<?php
mysqli_autocommit($connect,FALSE);
$requete = mysqli_query($connect, "SELECT Id,Traite,Operation FROM event WHERE Cfini<='$tempsactuel' ORDER BY Cfini ASC");
while( $result = mysqli_fetch_array($requete) )
{
if( $result['Operation'] == "PRODUNITE" )
{
$begin = mysqli_query($connect, "START TRANSACTION");
$majtraite = mysqli_query($connect, "UPDATE event SET Traite=1 WHERE Id='$idoperation' LIMIT 1");
// .... On effectue diverses opérations
// ....
// ... ayé c'est fini
if( $requetecom = mysqli_query($connect, "DELETE FROM event WHERE Id='$idoperation' LIMIT 1") )
{
$commit = mysqli_query($connect, "COMMIT");
}
else
{
$rollback = mysqli_query($connect, "ROLLBACK");
}
}
}
En essayant d'être clair, est ce que ce code ne fonctionnerait pas lui aussi ?
Si il ne fonctionne pas, peux tu m'expliquer précisément pourquoi ?
Merci en tout cas de ton exemple