voici mon problème, j'essai en ce moment de développer une application pour gérer mes comptes bancaires.
jusqu'ici cela ce passait bien jusqu'au moment ou je fais des modif sur un enregistrement de ma compta cela modifie l'ensemble des toto.
voici un exemple concret :
credit=10 , debit=0, total=20
credit=0 , debit=5, total=15
credit=15 , debit=0, total=30
bon voila le blem si je modifie la premiere ligen et que je rajoute 10 en credit le total des autres lignes est modifié, donc j'essaie de faire un update multiple mais rien y fait.
voici mon code de ma page de traitement :
<?php
$id = $_GET['id'];
$id2 = $id - 1;
$id3 = $id + 1;
$datep = $_POST['datep2'];
$date_uk = substr($datep,6,4)."-".substr($datep,3,2)."-".substr($datep,0,2);
$emetteur = $_POST['liste2'];
$autre = $_POST['mots2'];
$credeb = $_POST['credeb2'];
$montant = $_POST['montant2'];
$oui = $_POST['oui2'];
$non = $_POST['non2'];
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('intracompta',$db);
$sql = "SELECT total FROM compte WHERE id='$id2'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_array($req);
$toto = $data['total'];
if ( $emetteur =="3" )
{
$emetteur = $autre;
}
if ( $oui == "1")
{
$encaisse = 1;
}
else {
$encaisse = 0;
}
if ( $credeb == "credit" )
{
$credit = $montant;
$total = $toto+$credit;
}
if ( $credeb == "debit" )
{
$debit = $montant;
$total = $toto-$debit;
}
$sql2 = "UPDATE compte SET date='$date_uk',emetteur='$emetteur',credit='$credit',debit='$debit',total='$total',encaisse='$encaisse',id='$id' WHERE id='$id'";
mysql_query($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
$sql3 = "SELECT total FROM compte WHERE id='$id'";
$req3 = mysql_query($sql3) or die('Erreur SQL !<br>'.$sql3.'<br>'.mysql_error());
$data3 = mysql_fetch_array($req3);
$toto3 = $data3['total'];
$sql4 = "SELECT * FROM compte WHERE id >'$id'";
$req4 = mysql_query($sql4) or die('Erreur SQL !<br>'.$sql4.'<br>'.mysql_error());
while($data4 = mysql_fetch_array($req4))
{
$credit4 = $data4['credit'];
$debit4 = $data4['debit'];
if ( $credit4 == 0.00 )
{
$total4 = $toto3-$debit4;
}
else {
$total4 = $toto3+$credit4;
}
$sql5 = "UPDATE compte SET total='$total4' WHERE id >'$id'";
mysql_query($sql5) or die('Erreur SQL !'.$sql5.'<br>'.mysql_error());
}
echo '<p align="center" class="Style1">Votre entrée a bien été modifiée. </p>';
mysql_close();
?>
merci pour vos lumières lakawet