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 28/01/2011, 11h39   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 14
Détails du profil
Informations personnelles :
Âge : 20
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : janvier 2011
Messages : 14
Points : 4
Points : 4
Par défaut Récupérer numéro identifiant

Bonjour à tous,

Je rencontre un soucis pour récupérer un numéro identifiant d'une page web à une autre.
En effet j'ai créé une page web listant des analyses, comme cette liste devient longue j'ai mis en place un critère de tri avec des cases à cocher. On coche le ou les critères et on arrive sur une autre page web affichant seulement les résultats demandés.
Il y a un bouton "Modifier" à côté de chaque analyse pour qu'on puisse la modifier.
J'ai remarqué que ma requète pour modifier une analyse s'éffectuait bien, seulement le numéro identifiant de l'analyse n'est pas récupéré et je n'arrive pas à comprendre pourquoi.

Voilà le code de ma page qui affiche mes analyses triées :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php	
	$req_tri_labo = "SELECT * FROM analyse WHERE ANA_Code LIKE '".implode("%' OR ANA_Code LIKE '", $_GET["labo"])."%' ORDER BY ANA_Code ASC, ANA_Intitule ASC";
	$res_tri_labo=mysql_query($req_tri_labo, $connect) or die ($req_tri_labo . " - " . mysql_error());
	while ($data = mysql_fetch_array($res_tri_labo)) { 
      // on affiche les résultats
 
if ($data['ANA_Active'] == "O" ) {
	?>
	<tr onmouseover="this.style.backgroundColor='red';" onmouseout="this.style.backgroundColor='white';">
	<?php
	}
	if ($data['ANA_Active'] == "N") {
	?>
	<tr style="background-color: #CCCCCC;border:solid 1px black;" onmouseover="this.style.backgroundColor='red';border:solid 3px yellow;" onmouseout="this.style.backgroundColor=#CCCCCC;">
	<?php
	}
	?>
	<form method="GET" action="update_val_analyse.php" name="update_val_analyse">
	<input  style="font-size:smaller" type="hidden"  name="ANA_Id2" value="<?php echo $data['$ANA_Id'] ; ?>" />
	<td>
	<input style="font-size:smaller" type="text" size="<?php echo $longANAIntitule ;?>" name="ANA_Intitule2" value="<?php echo $data['ANA_Intitule'];?>"/> 
	</td> 
	<td align=center>
	<textarea name="ANA_Code2" id="ANA_Code2" rows="1" cols="<?php echo $longANACode ;?>" style="font-size:smaller;overflow:auto;"><?php echo $data['ANA_Code'] ; ?></textarea>	
	</td>
	</td> 
	<td  align=center> 
	<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAPrixAchat ;?>" name="ANA_PrixAchat2" value="<?php echo $data['ANA_PrixAchat'] ; ?>" /> 
	</td> 
	<td  align=center> 
	<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAPrixVente ;?>" name="ANA_PrixVente2" value="<?php echo $data['ANA_PrixVente']; ?>" /> 
	</td>
	<td>
	<?php
//Sélection de tous les fournisseurs
$req_fournisseur = "SELECT * FROM fournisseur ORDER BY FRS_Nom";
$fournisseur = mysql_query($req_fournisseur, $connect) or die($req_fournisseur . " - " . mysql_error());
	?>
	<select name="FRS_Analyse2" id="FRS_Analyse2" class="ctrDropDown" onBlur="this.className='ctrDropDown';" onMouseDown="this.className='ctrDropDownClick';" onChange="this.className='ctrDropDown';">
	<!--<select name="FRS_Analyse" style="width=<?php echo $ANA_FRS_NomVille ;?>" style="font-size:smaller">-->	<option style="font-size:smaller"> Sélectionner ... </option>
	<?php
	// Boucle de tous les fournisseurs
while ($tabFRS = mysql_fetch_array($fournisseur)) {
		$FRS_Id = $tabFRS['FRS_Id'];
		$FRS_Nom = $tabFRS['FRS_Nom'];
		$FRS_Ville = $tabFRS['FRS_Ville'];					$FRS_NomVille = $FRS_Nom . " - " .$FRS_Ville;
		?>
 
		<option title="<?php echo $FRS_Id ; ?>" style="font-size:smaller" value="<?php echo $FRS_Id ; ?>" > <?php echo $FRS_NomVille ; ?> </option>
		<?php 	} 						
//Sélection du fournisseur correspondant à l'analyse
$req_analyse_FRS = "SELECT f.FRS_Nom, f.FRS_Ville FROM fournisseur f , analyse a WHERE a.ANA_FRS_Id = '".$data['ANA_FRS_Id']."' AND a.ANA_FRS_Id = f.FRS_Id
AND ANA_Code LIKE '".implode("%' OR ANA_Code LIKE '", $_GET["labo"])."%'";
 
$analyse_FRS = mysql_query($req_analyse_FRS, $connect) or die($req_analyse_FRS . " - " . mysql_error());
	while ( $tab = mysql_fetch_array($analyse_FRS)) {
								// Mise en variable
								//$ANA_FRS_Id 		= $tab['ANA_FRS_Id'];
								$ANA_FRS_Nom 		= $tab['FRS_Nom'];
								$ANA_FRS_Ville 		= $tab['FRS_Ville'];	} // End while ($tab = mysql_fetch_array($analyse_FRS))
								$ANA_FRS_NomVille = $ANA_FRS_Nom . " - " .$ANA_FRS_Ville;
		?>
<!--<?php //echo $ANA_FRS_Nom ; ?> - <?php echo //$ANA_FRS_Ville ; ?> -->
<option value="<?php echo $ANA_FRS_Id ; ?>" selected> <?php echo $ANA_FRS_NomVille ; ?> </option>
	</select>
	</td>
	<td>
	<textarea name="ANA_Produit2" id="ANA_Produit2" rows="1" cols="<?php echo $longANAProduit ;?>" style="font-size:smaller;overflow:auto;"><?php echo $data['ANA_Produit'] ; ?></textarea>
	</td>
	<td  align=center> 
	<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAActive ;?> "maxlength="1"  name="ANA_Active2" value="<?php echo $data['ANA_Active'] ; ?>"/>	
	</td>
	<td>
	<input type="image" size ="16px" name="modifier_val_analyse" src="../images/modifier.png"/>
	</td>
	</form>
	</tr>
<?php } //End while ($data = mysql_fetch_array($res_tri_labo)) ?>
Et voilà le code qui modifie mon analyse :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php 
//Sélection et connexion à la base de données commande
include '../connexion.php'; 
session_start();
require('../control-session.php');
 
 
$ANA_IdData		= $_GET['ANA_Id2']; 
$ANA_Intitule2	= addslashes($_GET['ANA_Intitule2']); 
$ANA_Code2	 	= $_GET['ANA_Code2']; 
$ANA_PrixAchat2 = $_GET['ANA_PrixAchat2']; 
$ANA_PrixVente2	= $_GET['ANA_PrixVente2']; 
$ANA_FRS_Id2	= $_GET['FRS_Analyse2'];
$ANA_Produit2	= addslashes($_GET['ANA_Produit2']); 
$ANA_Active2 	= $_GET['ANA_Active2']; 
 
if ((empty($ANA_Intitule2)) || (empty($ANA_Code2)))
		{
		echo "L'intitulé et le code doivent être renseignés !";
		include 'gestionanalyse.php';
		} 
		elseif (!preg_match("'[0-9]{1,}[.]{0,1}[0-9]{0,2}'isU", $ANA_PrixAchat2) || !preg_match("'[0-9]{1,}[.]{0,1}[0-9]{0,2}'isU", $ANA_PrixVente2))
		{
	echo "Le prix d'achat et le prix de vente doivent être numérique et avoir seulement 2 chiffres après la virgule !";
		include 'gestionanalyse.php';
		}
		elseif ($ANA_PrixAchat2 < 0 || $ANA_PrixVente2 < 0)
			{
			echo "Le prix doit être supérieur à 0 !";
			include 'gestionanalyse.php';
			}
			elseif ($ANA_FRS_Id2 < 0 )
				{
			echo "Le fournisseur doit être renseigné !";
						include 'gestionanalyse.php';
				}
			elseif ((($ANA_Active2 != "O") AND ($ANA_Active2 != "N")) || (empty ($ANA_Active2)))
			{
								echo "Le champ Active O/N ne doit contenir que les valeurs O ou N et ne doit pas être vide !";
								include 'gestionanalyse.php';
			}
								elseif ((empty($ANA_Produit2) || (preg_match("/^([ a-zA-Z0-9])+$/", $ANA_Produit2))) 
									|| (($ANA_Active2 = "O") || ($ANA_Active2 = "N"))) 
									{
	$req_updateanalyse = "UPDATE analyse SET ANA_Intitule 	= '$ANA_Intitule2',
											ANA_Code 		= '$ANA_Code2',
											ANA_PrixAchat 	= '$ANA_PrixAchat2',
											ANA_PrixVente 	= '$ANA_PrixVente2',
											ANA_FRS_Id 		= '$ANA_FRS_Id2',
											ANA_Produit 	= '$ANA_Produit2',
											ANA_Active 		= '$ANA_Active2'
											WHERE ANA_Id 	= '$ANA_Id2'";
 
	$updateanalyse = mysql_query($req_updateanalyse, $connect) or die($req_updateanalyse . " - " . mysql_error());
	echo " /!\ Analyse modifiée /!\\" ;
?> 
<META http-equiv="refresh" content="10; URL=gestionanalyse.php">
<?php
									}
?>
Pouvez-vous m'aider ?
Kylia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 11h41   #2
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Où se cache t'il ce numéro identifiant ? Comment le fais-tu transiter d'une page à l'autre ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 11h47   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 14
Détails du profil
Informations personnelles :
Âge : 20
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : janvier 2011
Messages : 14
Points : 4
Points : 4
Ce numéro identifiant est à cette ligne
Code :
<input  style="font-size:smaller" type="hidden"  name="ANA_Id2" value="<?php echo $data['$ANA_Id'] ; ?>" />
qui est en dessous de l'ouverture de mon formulaire "update_val_analyse".

Pour le faire transiter d'une page à l'autre je le récupère avec
Code :
$ANA_Id = $_GET['ANA_Id'];
dans ma page qui doit modifier les informations.
Kylia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 13h11   #4
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Tu n'as pas mis le nom de ton input dans $_GET:
Code :
$ANA_Id = $_GET['ANA_Id2'];
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 14h58   #5
Invité de passage
 
Inscription : janvier 2011
Messages : 14
Détails du profil
Informations personnelles :
Âge : 20
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : janvier 2011
Messages : 14
Points : 4
Points : 4
J'ai mal copié collé mon code >.<, en fait les 2 noms sont identiques et cela ne fonctionne toujours pas :/.
Kylia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/01/2011, 15h50   #6
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Est ce que tu as la bonne valeur dans ton champ "hidden" ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 09h50   #7
Invité de passage
 
Inscription : janvier 2011
Messages : 14
Détails du profil
Informations personnelles :
Âge : 20
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : janvier 2011
Messages : 14
Points : 4
Points : 4
Bonjour et désolé de n'avoir pas pu répondre plus tôt mais je n'avais pas mes scripts .
J'ai effectué des modifications et maintenant mon code fonctionne.
Voilà le script de ma page qui affiche le résultat de mon tri :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php	
	$req_tri_labo = "SELECT * FROM analyse WHERE ANA_Code LIKE '".implode("%' OR ANA_Code LIKE '", $_GET["labo"])."%' ORDER BY ANA_Code ASC, ANA_Intitule ASC";
	$res_tri_labo=mysql_query($req_tri_labo, $connect) or die ($req_tri_labo . " - " . mysql_error());
	while ($data = mysql_fetch_array($res_tri_labo)) { 
      // on affiche les résultats
 
				if ($data['ANA_Active'] == "O" ) {
					?>
					<tr onmouseover="this.style.backgroundColor='red';" onmouseout="this.style.backgroundColor='white';">
					<?php
				}
				if ($data['ANA_Active'] == "N") {
					?>
					<tr style="background-color: #CCCCCC;border:solid 1px black;" onmouseover="this.style.backgroundColor='red';border:solid 3px yellow;" onmouseout="this.style.backgroundColor=#CCCCCC;">
					<?php
				}
				?>
				<form method="GET" action="update_val_analyse.php" name="update_val_analyse">
				<td>
				<input  style="font-size:smaller" type="hidden"  name="ANA_IdData" value="<?php echo $data['ANA_Id'] ; ?>" />
				<input style="font-size:smaller" type="text" size="<?php echo $longANAIntitule ;?>" name="ANA_Intitule2" value="<?php echo $data['ANA_Intitule'];?>"/> 
				</td> 
				<td align=center>
					<textarea name="ANA_Code2" id="ANA_Code2" rows="1" cols="<?php echo $longANACode ;?>" style="font-size:smaller;overflow:auto;"><?php echo $data['ANA_Code'] ; ?></textarea>	
				</td>
				</td> 
				<td  align=center> 
					<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAPrixAchat ;?>" name="ANA_PrixAchat2" value="<?php echo $data['ANA_PrixAchat'] ; ?>" /> 
				</td> 
				<td  align=center> 
					<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAPrixVente ;?>" name="ANA_PrixVente2" value="<?php echo $data['ANA_PrixVente']; ?>" /> 
				</td>
				<td>
				<?php
				//Sélection de tous les fournisseurs
				$req_fournisseur = "SELECT * FROM fournisseur ORDER BY FRS_Nom";
				$fournisseur = mysql_query($req_fournisseur, $connect) or die($req_fournisseur . " - " . mysql_error());
				?>
				<select name="FRS_Analyse2" id="FRS_Analyse2" class="ctrDropDown" onBlur="this.className='ctrDropDown';" onMouseDown="this.className='ctrDropDownClick';" onChange="this.className='ctrDropDown';">
					<!--<select name="FRS_Analyse" style="width=<?php echo $ANA_FRS_NomVille ;?>" style="font-size:smaller">-->
					<option style="font-size:smaller"> Sélectionner ... </option>
					<?php
						// Boucle de tous les fournisseurs
						while ($tabFRS = mysql_fetch_array($fournisseur)) {
							$FRS_Id = $tabFRS['FRS_Id'];
							$FRS_Nom = $tabFRS['FRS_Nom'];
							$FRS_Ville = $tabFRS['FRS_Ville'];
							$FRS_NomVille = $FRS_Nom . " - " .$FRS_Ville;
							?>
 
							<option title="<?php echo $FRS_Id ; ?>" style="font-size:smaller" value="<?php echo $FRS_Id ; ?>" > <?php echo $FRS_NomVille ; ?> </option>
				<?php 	} 						
							//Sélection du fournisseur correspondant à l'analyse
							$req_analyse_FRS = "SELECT f.FRS_Nom, f.FRS_Ville FROM fournisseur f , analyse a WHERE a.ANA_FRS_Id = '".$data['ANA_FRS_Id']."' AND a.ANA_FRS_Id = f.FRS_Id
												AND ANA_Code LIKE '".implode("%' OR ANA_Code LIKE '", $_GET["labo"])."%'";
 
							$analyse_FRS = mysql_query($req_analyse_FRS, $connect) or die($req_analyse_FRS . " - " . mysql_error());
							while ( $tab = mysql_fetch_array($analyse_FRS)) {
								// Mise en variable
								//$ANA_FRS_Id 		= $tab['ANA_FRS_Id'];
								$ANA_FRS_Nom 		= $tab['FRS_Nom'];
								$ANA_FRS_Ville 		= $tab['FRS_Ville'];
							} // End while ($tab = mysql_fetch_array($analyse_FRS))
								$ANA_FRS_NomVille = $ANA_FRS_Nom . " - " .$ANA_FRS_Ville;
							?>
							<!--<?php //echo $ANA_FRS_Nom ; ?> - <?php echo //$ANA_FRS_Ville ; ?> -->
						<option value="<?php echo $ANA_FRS_Id ; ?>" selected> <?php echo $ANA_FRS_NomVille ; ?> </option>
					</select>
				</td>
				<td>
					<textarea name="ANA_Produit2" id="ANA_Produit2" rows="1" cols="<?php echo $longANAProduit ;?>" style="font-size:smaller;overflow:auto;"><?php echo $data['ANA_Produit'] ; ?></textarea>
				</td>
				<td  align=center> 
					<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAActive ;?> "maxlength="1"  name="ANA_Active2" value="<?php echo $data['ANA_Active'] ; ?>"/>	
				</td>
				<td>
					<input type="image" size ="16px" name="modifier_val_analyse" src="../images/modifier.png"/>
				</td>
			</form>
		</tr>
<?php } //End while ($data = mysql_fetch_array($res_tri_labo)) ?>
Et voilà le code de ma page qui éffectue les modifications dans la base de données :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php 
//Sélection et connexion à la base de données commande
include '../connexion.php'; 
session_start();
require('../control-session.php');
 
 
$ANA_IdData		= $_GET['ANA_IdData']; 
$ANA_Intitule2	= addslashes($_GET['ANA_Intitule2']); 
$ANA_Code2	 	= $_GET['ANA_Code2']; 
$ANA_PrixAchat2 = $_GET['ANA_PrixAchat2']; 
$ANA_PrixVente2	= $_GET['ANA_PrixVente2']; 
$ANA_FRS_Id	= $_GET['FRS_Analyse2'];
$ANA_Produit2	= addslashes($_GET['ANA_Produit2']); 
$ANA_Active2 	= $_GET['ANA_Active2']; 
 
if ((empty($ANA_Intitule2)) || (empty($ANA_Code2)))
		{
		echo "L'intitulé et le code doivent être renseignés !";
		include 'gestionanalyse.php';
		} 
		elseif (!preg_match("'[0-9]{1,}[.]{0,1}[0-9]{0,2}'isU", $ANA_PrixAchat2) || !preg_match("'[0-9]{1,}[.]{0,1}[0-9]{0,2}'isU", $ANA_PrixVente2))
			{
			echo "Le prix d'achat et le prix de vente doivent être numérique et avoir seulement 2 chiffres après la virgule !";
			include 'gestionanalyse.php';
			}
			elseif ($ANA_PrixAchat2 < 0 || $ANA_PrixVente2 < 0)
				{
				echo "Le prix doit être supérieur à 0 !";
				include 'gestionanalyse.php';
				}
				elseif ($ANA_FRS_Id2 < 0 )
					{
						echo "Le fournisseur doit être renseigné !";
						include 'gestionanalyse.php';
						}
						elseif ((($ANA_Active2 != "O") AND ($ANA_Active2 != "N")) || (empty ($ANA_Active2)))
								{
								echo "Le champ Active O/N ne doit contenir que les valeurs O ou N et ne doit pas être vide !";
								include 'gestionanalyse.php';
								}
								elseif ((empty($ANA_Produit2) || (preg_match("/^([ a-zA-Z0-9])+$/", $ANA_Produit2))) 
									|| (($ANA_Active2 = "O") || ($ANA_Active2 = "N"))) 
									{
	$req_updateanalyse = "UPDATE analyse SET ANA_Intitule 	= '$ANA_Intitule2',
											ANA_Code 		= '$ANA_Code2',
											ANA_PrixAchat 	= '$ANA_PrixAchat2',
											ANA_PrixVente 	= '$ANA_PrixVente2',
											ANA_FRS_Id 		= '$ANA_FRS_Id',
											ANA_Produit 	= '$ANA_Produit2',
											ANA_Active 		= '$ANA_Active2'
											WHERE ANA_Id 	= '$ANA_IdData'";
	echo $req_updateanalyse;
	$updateanalyse = mysql_query($req_updateanalyse, $connect) or die($req_updateanalyse . " - " . mysql_error());
	echo " /!\ Analyse modifiée /!\\" ;
?> 
<META http-equiv="refresh" content="10; URL=gestionanalyse.php">
<?php
									}
?>
Il me reste un soucis embétant à régler, quand je sélectionne plusieurs critères de tri qui sont des cases à cocher, toutes mes analyses avec le tri s'affichent mais elles ont toutes le même fournisseur alors qu'il devrait être différent.
Aurais-tu une idée d'où ce problème peut venir ?
Kylia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 10h56   #8
Invité de passage
 
Inscription : janvier 2011
Messages : 14
Détails du profil
Informations personnelles :
Âge : 20
Localisation : France, Finistère (Bretagne)

Informations forums :
Inscription : janvier 2011
Messages : 14
Points : 4
Points : 4
Pour éviter ce problème j'ai décidé de remplacer mes choix de tri par des boutons radio et non plus avec des cases à cocher.
Le tri s'affiche bien, le problème est que quand je veux modifier une analyse et que je ne change pas le fournisseur, je ne récupère pas le numéro du fournisseur.
Voilà le code de ma page qui affiche le tri (elle n'a pas beaucoup changé) :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php	
	$req_tri_labo = "SELECT * FROM analyse WHERE ANA_Code LIKE '".($_GET["labo"])."%' ORDER BY ANA_Code ASC, ANA_Intitule ASC";
	$res_tri_labo=mysql_query($req_tri_labo, $connect) or die ($req_tri_labo . " - " . mysql_error());
	while ($data = mysql_fetch_array($res_tri_labo)) { 
      // on affiche les résultats
 
				if ($data['ANA_Active'] == "O" ) {
					?>
					<tr onmouseover="this.style.backgroundColor='red';" onmouseout="this.style.backgroundColor='white';">
					<?php
				}
				if ($data['ANA_Active'] == "N") {
					?>
					<tr style="background-color: #CCCCCC;border:solid 1px black;" onmouseover="this.style.backgroundColor='red';border:solid 3px yellow;" onmouseout="this.style.backgroundColor=#CCCCCC;">
					<?php
				}
				?>
				<form method="GET" action="update_val_analyse.php" name="update_val_analyse">
				<td>
				<input  style="font-size:smaller" type="hidden"  name="ANA_IdData" value="<?php echo $data['ANA_Id'] ; ?>" />
				<input style="font-size:smaller" type="text" size="<?php echo $longANAIntitule ;?>" name="ANA_Intitule2" value="<?php echo $data['ANA_Intitule'];?>"/> 
				</td> 
				<td align=center>
					<textarea name="ANA_Code2" id="ANA_Code2" rows="1" cols="<?php echo $longANACode ;?>" style="font-size:smaller;overflow:auto;"><?php echo $data['ANA_Code'] ; ?></textarea>	
				</td>
				</td> 
				<td  align=center> 
					<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAPrixAchat ;?>" name="ANA_PrixAchat2" value="<?php echo $data['ANA_PrixAchat'] ; ?>" /> 
				</td> 
				<td  align=center> 
					<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAPrixVente ;?>" name="ANA_PrixVente2" value="<?php echo $data['ANA_PrixVente']; ?>" /> 
				</td>
				<td>
				<?php
				//Sélection de tous les fournisseurs
				$req_fournisseur = "SELECT * FROM fournisseur ORDER BY FRS_Nom";
				$fournisseur = mysql_query($req_fournisseur, $connect) or die($req_fournisseur . " - " . mysql_error());
				?>
				<select name="FRS_Analyse2" id="FRS_Analyse2" class="ctrDropDown" onBlur="this.className='ctrDropDown';" onMouseDown="this.className='ctrDropDownClick';" onChange="this.className='ctrDropDown';">
					<option style="font-size:smaller"> Sélectionner ... </option>
					<?php
						// Boucle de tous les fournisseurs
						while ($tabFRS = mysql_fetch_array($fournisseur)) {
							$FRS_Id = $tabFRS['FRS_Id'];
							$FRS_Nom = $tabFRS['FRS_Nom'];
							$FRS_Ville = $tabFRS['FRS_Ville'];
							$FRS_NomVille = $FRS_Nom . " - " .$FRS_Ville;
							?>
 
							<option title="<?php echo $FRS_Id ; ?>" style="font-size:smaller" value="<?php echo $FRS_Id ; ?>" > <?php echo $FRS_NomVille ; ?> </option>
				<?php 	} 						
							//Sélection du fournisseur correspondant à l'analyse
							$req_analyse_FRS = "SELECT f.FRS_Nom, f.FRS_Ville FROM fournisseur f , analyse a WHERE ANA_Code LIKE '".($_GET["labo"])."%'
												AND a.ANA_FRS_Id = '".$data['ANA_FRS_Id']."' AND a.ANA_FRS_Id = f.FRS_Id";
 
							$analyse_FRS = mysql_query($req_analyse_FRS, $connect) or die($req_analyse_FRS . " - " . mysql_error());
							while ( $tab = mysql_fetch_array($analyse_FRS)) {
								// Mise en variable
								//$ANA_FRS_Id 		= $tab['ANA_FRS_Id'];
								$ANA_FRS_Nom 		= $tab['FRS_Nom'];
								$ANA_FRS_Ville 		= $tab['FRS_Ville'];
							} // End while ($tab = mysql_fetch_array($analyse_FRS))
								$ANA_FRS_NomVille = $ANA_FRS_Nom . " - " .$ANA_FRS_Ville;
							?>
							<!--<?php //echo $ANA_FRS_Nom ; ?> - <?php echo //$ANA_FRS_Ville ; ?> -->
						<option value="<?php echo $ANA_FRS_Id ; ?>" selected> <?php echo $ANA_FRS_NomVille ; ?> </option>
 
					</select>
				</td>
				<td>
					<textarea name="ANA_Produit2" id="ANA_Produit2" rows="1" cols="<?php echo $longANAProduit ;?>" style="font-size:smaller;overflow:auto;"><?php echo $data['ANA_Produit'] ; ?></textarea>
				</td>
				<td  align=center> 
					<input style="font-size:smaller;text-align:center;" type="text" size="<?php echo $longANAActive ;?> "maxlength="1"  name="ANA_Active2" value="<?php echo $data['ANA_Active'] ; ?>"/>	
				</td>
				<td>
					<input type="image" size ="16px" name="modifier_val_analyse" src="../images/modifier.png"/>
				</td>
			</form>
		</tr>
<?php } //End while ($data = mysql_fetch_array($res_tri_labo)) ?>
Et voilà le code de ma page qui modifie les données :
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php 
//Sélection et connexion à la base de données commande
include '../connexion.php'; 
session_start();
require('../control-session.php');
 
 
$ANA_IdData		= $_GET['ANA_IdData']; 
$ANA_Intitule2	= addslashes($_GET['ANA_Intitule2']); 
$ANA_Code2	 	= $_GET['ANA_Code2']; 
$ANA_PrixAchat2 = $_GET['ANA_PrixAchat2']; 
$ANA_PrixVente2	= $_GET['ANA_PrixVente2']; 
$ANA_FRS_Id		= $_GET['FRS_Analyse2'];
$ANA_Produit2	= addslashes($_GET['ANA_Produit2']); 
$ANA_Active2 	= $_GET['ANA_Active2']; 
 
if ((empty($ANA_Intitule2)) || (empty($ANA_Code2)))
		{
		echo "L'intitulé et le code doivent être renseignés !";
		include 'gestionanalyse.php';
		} 
		elseif (!preg_match("'[0-9]{1,}[.]{0,1}[0-9]{0,2}'isU", $ANA_PrixAchat2) || !preg_match("'[0-9]{1,}[.]{0,1}[0-9]{0,2}'isU", $ANA_PrixVente2))
			{
			echo "Le prix d'achat et le prix de vente doivent être numérique et avoir seulement 2 chiffres après la virgule !";
			include 'gestionanalyse.php';
			}
			elseif ($ANA_PrixAchat2 < 0 || $ANA_PrixVente2 < 0)
				{
				echo "Le prix doit être supérieur à 0 !";
				include 'gestionanalyse.php';
				}
				elseif ($ANA_FRS_Id2 < 0 )
					{
						echo "Le fournisseur doit être renseigné !";
						include 'gestionanalyse.php';
						}
						elseif ((($ANA_Active2 != "O") AND ($ANA_Active2 != "N")) || (empty ($ANA_Active2)))
								{
								echo "Le champ Active O/N ne doit contenir que les valeurs O ou N et ne doit pas être vide !";
								include 'gestionanalyse.php';
								}
								elseif ((empty($ANA_Produit2) || (preg_match("/^([ a-zA-Z0-9])+$/", $ANA_Produit2))) 
									|| (($ANA_Active2 = "O") || ($ANA_Active2 = "N"))) 
									{
	$req_updateanalyse = "UPDATE analyse SET ANA_Intitule 	= '$ANA_Intitule2',
											ANA_Code 		= '$ANA_Code2',
											ANA_PrixAchat 	= '$ANA_PrixAchat2',
											ANA_PrixVente 	= '$ANA_PrixVente2',
											ANA_FRS_Id 		= '$ANA_FRS_Id',
											ANA_Produit 	= '$ANA_Produit2',
											ANA_Active 		= '$ANA_Active2'
											WHERE ANA_Id 	= '$ANA_IdData'";
	echo $req_updateanalyse;
	$updateanalyse = mysql_query($req_updateanalyse, $connect) or die($req_updateanalyse . " - " . mysql_error());
	echo " /!\ Analyse modifiée /!\\" ;
?> 
<META http-equiv="refresh" content="5; URL=gestionanalyse.php">
<?php
									}
?>
Avez-vous une idée d'où vient le problème ?

EDIT : Mon problème venait tout simplement d'un problème de variable, j'utilisais $ANA_FRS_Id au lieu de $data['ANA_FRS_Id'] u_u
Kylia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2011, 11h19   #9
Modérateur
 
Avatar de Benjamin Delespierre
 
Benjamin Delespierre
Développeur Web
Inscription : février 2010
Messages : 2 984
Détails du profil
Informations personnelles :
Nom : Benjamin Delespierre
Âge : 24
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : février 2010
Messages : 2 984
Points : 5 015
Points : 5 015
Hello

Désolé, je n'étais pas présent sur le forum ces derniers temps.

Bien joué pour la résolution de ton problème.

à bientôt
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom
Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même).

Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...".
Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug.

Les boutons et existent, servez-vous en
Benjamin Delespierre 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 03h46.


 
 
 
 
Partenaires

Hébergement Web