Bonjour

Je bute sur un problème d'upate d'une base, je viens d'un formulaire <select>
je veux dans ma base mette à jour la colonne 'valid' en fonction de l'envoi du formulaire. Et ensuite afficher les données de ces valeurs modifiées.
Pour l'affichage cela fonctionne. Mais pour le UPDATE uniquement la dernière valeur du $post est modifié
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
include("../base.php");
//récupération de la liste select du formulaire
 
          foreach($_POST['ha'] AS $valeur){ 
// mise à 0 (non) des valeurs 'valid' de la table	
	  $sql="UPDATE achat SET valid='non'";
mysql_query($sql)or die(mysql_error());
// mise à oui des valeurs sélectionnés dans formulaire
 $sql3="UPDATE achat SET valid='oui' WHERE idachat=$valeur";
mysql_query($sql3)or die(mysql_error());
 
// affichage des valeurs sélectionnés
	$sql2= "SELECT  * FROM  achat where  idachat=$valeur ORDER BY  lieuachat,  utilisation, objet ASC "  ;
	$resultat = mysql_query($sql2) or die(mysql_error());
	while ($listeha =mysql_fetch_array ($resultat)){
	$mag=$listeha['lieuachat'];	
	$obj=$listeha['objet'];
	$util=$listeha['utilisation'];
	$enseigne=$listeha['lieuachat'];
	$bouton=$listeha['valid'];
 
 
// si la variable $mag est déjà affichée passer directement à l'affichage des produits
           IF ($mag2==$mag) {
			   goto suite;
		   }
// sinon afficher $mag
		   ELSE echo"<br><span class='t2'>".$mag."<br>";
		   $mag2=$mag;
 
// affichage des produits
		   suite:
 
               echo "<span class='t5'>".htmlentities($obj)."<br>"; 
 
     } 
 
		  } 
 
		  ?>