Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/09/2011, 20h43   #1
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
Par défaut Update et select depuis un foreach ($post

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 :
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>"; 
 
     } 
 
		  } 
 
		  ?>
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2011, 01h06   #2
Modérateur
 
Avatar de sebhm
 
Homme Seb
Développeur Web
Inscription : avril 2004
Messages : 1 063
Détails du profil
Informations personnelles :
Nom : Homme Seb
Âge : 31
Localisation : France, Landes (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2004
Messages : 1 063
Points : 1 181
Points : 1 181
il faut sortir la requete
Code :
$sql="UPDATE achat SET valid='non'";
de ta boucle parce que tu remets tout à FAUX à chaque fois,donc c'est normal que tu n'ais que la derniere valeur de ton select bien gérée !
sebhm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/09/2011, 16h41   #3
Membre du Club
 
Inscription : juillet 2006
Messages : 150
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 150
Points : 40
Points : 40
mais bon sang! mais c'est bien sur.
merci sebhm
rvm31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h16.


 
 
 
 
Partenaires

Hébergement Web