Formulaire + Base de données

Petit nouveau ! | 7 Messages

09 juin 2011, 07:30

Bonjour,

comme je l'avais mentionné dans mon post précédent, je reviens plus vite que je ne pensais sur le forum xD et je vous remercie encore de votre aide ^^

Ajd je suis toujours en mode développement web et cette fois j'aimerais pouvoir réaliser une action assez particulière qui est la suivante :

j'ai mon formulaire "multi-pages"(c'est un détail important), et j'ai ma base de données. J'ai tout d'abord réussi à insérer les saisies de mon formulaire dans ma base de données, avec un array pour mes données, foreach qui parcourt l'ensemble des données puis l'enregistrement des données dans la base.

MAintenant je souhaiterais réaliser qq chose d'un peu plus complexe à savoir : éditer un agent déja présent dans la base c-a-d une fois lister(ça c'est fait), je sélectionne l'agent que je souhaite modifier par exemple et que cela va me remplir mon formulaire avec les données enregistrées dans la base pour cet agent, faire ensuite des modif' et ensuite mettre à jour les données modifiées. J'ai déjà fait pas mal de recherche à ce niveau mais là je suis à court d'idée pour savoir comment m'y prendre alors si qq'un pouvait m'aider la dessus, je lui en serait très reconnaissant.

Merci d'avance ^^

Eléphant du PHP | 80 Messages

09 juin 2011, 09:10

Bonjour,

Alors pour ma part, j'affichais les enregistrement dans un tableau, avec un colonne où il y avait une image "Modifier", et quand on cliquait dessus, du Js
(onClick="javascript:document.location.href='ModifAvantage.php?iudA=<?php echo $Enregistrement->uidA; ?>'")
me redirigeait sur cette même page, mais en passant l'id de l'enregistrement à modifier dans l'url. Jusque là tu comprends ?

Ensuite plus bas je mettais
		//Récupération de l'id
		if( isSet($_GET['iudA']) )
		{
		$iudA = $_GET['iudA'];
		}
		else
		{ 
		$iudA = 0;
		}
Pour récupérer l'id, et s'il n'y a pas d'id dans la variable, alors, elle vaut 0.

Ensuite je fais la requête :
$LaRequete = "SELECT TitreAvantage, Avantage, uidA FROM avantage WHERE uidA=$iudA ";
J’exécute tout ça tout ça.

Et ensuite je fais mon while pour afficher les données sélectionnées dans des balises textes ou area. (MAIS si uidA vaut 0, vu que les balises sont dans le while, la requête ne retournera rien car il n'y a pas d'uidA qui vaut zero dans la table, donc elle n'affichera rien.)

Exemple non-exhaustif :
 while($EnregistrementModif= mysql_fetch_object($ResultatRequete))
				{ 
		
		
		
		?>
		
						<div class="AjoutNews">
			<center><H2>Modifier des Avantages</H2></center>
			<Table>
			<form action="ModifAvantage_Exec.php" method="post" enctype="multipart/form-data" onSubmit="return Demande_verification_modif()" >
				<TR>
					<TD><H1>Titre :</H1></TD>
					<TD><input type="text" name="titre_avantage" value="<?php echo $EnregistrementModif -> TitreAvantage; ?>"></TD>
				</TR>
				<TR>
					<TD><H1>Avantage :</H1></TD>
					<TD><textarea id="previsu_texte" name="avantage" rows="12" cols="50"><?php echo $EnregistrementModif -> Avantage; ?></textarea></TD>
				</TR>
				<tr>
					<td/><input name="uidA"  type="HIDDEN" value="<?php echo $iudA; ?>"/>
					<td><input type="submit" name="ValiderLivre" id="ValiderLivre" value="Modifier" class="send" /></td>
					
				</tr>
				
				<?php } 
				
				 ?>
Et sur ce formulaire, tu mets l'action qui te renvoi à une page only PHP, où tu récupères les valeur de ton formulaire et fais ton Update. :mrgreen:
En informatique, lorsqu'il y a un bug, le souci est toujours entre la chaise et le clavier.