IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupérer numéro identifiant [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    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 : 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
    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 : 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
    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 ?

  2. #2
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Hello

    Où se cache t'il ce numéro identifiant ? Comment le fais-tu transiter d'une page à l'autre ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    Ce numéro identifiant est à cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $ANA_Id = $_GET['ANA_Id'];
    dans ma page qui doit modifier les informations.

  4. #4
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Tu n'as pas mis le nom de ton input dans $_GET:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ANA_Id = $_GET['ANA_Id2'];

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    J'ai mal copié collé mon code >.<, en fait les 2 noms sont identiques et cela ne fonctionne toujours pas :/.

  6. #6
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Est ce que tu as la bonne valeur dans ton champ "hidden" ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    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 : 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
    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 : 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
    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 ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 37
    Par défaut
    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 : 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
    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 : 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
    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

  9. #9
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/06/2006, 11h20
  2. [MySQL] Problème pour récupérer un identifiant
    Par grumly22 dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 03/05/2006, 12h29
  3. [WD9] Récupérer un identifiant dans un arbre
    Par Romanops dans le forum WinDev
    Réponses: 2
    Dernier message: 29/03/2006, 17h31
  4. [WD9] Récupérer l'identifiant
    Par kuranes dans le forum WinDev
    Réponses: 2
    Dernier message: 14/12/2005, 10h23
  5. Récupérer les identifiants de la DB avec SQL.
    Par Cygnus Saint dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/08/2005, 07h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo