Requete UPDATE avec formulaire

Eléphant du PHP | 57 Messages

18 avr. 2011, 14:08

Merci de tes explications.
Donc effectivement je vais partir sur une nouvelle reqûete, le problème étant qu'il faut au moins que je puisse récupérer "idArticle", pour faire quelque chose du genre :
$request = "SELECT * FROM articles WHERE idArticle ='" .$_REQUEST['article']."'";
dans mon fichier form_editionarticle.php" ?

Mammouth du PHP | 672 Messages

18 avr. 2011, 14:14

Récupérer une valeur, ça reste simple...
Soit tu le passes dans l'URL de tes liens (par un GET) : http://monsite.ext/form_editionarticle. ... <IdArticle> (penser à bien contrôler dans ce cas, vu qu'on peut mettre ce qu'on veut dans l'URL)
Soit tu le passes dans le formulaire, par exemple avec un champ caché (penser à contrôler un minimum, dans ce cas, parce qu'il est possible de modifier le contenu d'un champ caché quand on envoie un formulaire)
soit tu utilises un système de SESSION.

Eléphant du PHP | 57 Messages

18 avr. 2011, 14:53

Merci beaucoup, grâce à ton aide j'en vois enfin presque le bout !

Donc voici le code que j'ai fais au début du fichier "form_editerarticle.php" :
<?php
	require_once('connexion.php');
	$idArticle = $_GET['article'];
	//	echo '<p>' .$idArticle. '</p>';   // l'idArticle passé en URL est bien récupéré
	$request = 'SELECT * FROM articles WHERE idArticle = "'.$idArticle.'";';
	$resultat = mysql_query ($request, $connexion);
	if (!empty($resultat) or die(mysql_error()))
	{
		while ($monArticle = mysql_fetch_object ($resultat))
		{
			echo $monArticle->titreArticle;
			echo $monArticle->contenuArticle;
		}
	}
?>
<table border=2>
	<form action="../edition/editer.php" method="post" enctype="multipart/form-data">
	<br/>
	<h5> MODIFIER UN ARTICLE </h5>
	<tr>
		<td width> Titre de l'article : </td>
		<td width><input type="text" name="titreArticle" size="108" value="<?php echo $monArticle->titreArticle; ?>"/></td>
	</tr>
	<tr>
...
Donc grâce aux echo fait dans le "while", on constate que mes données sont bien récupérées :D
Par contre, encore un problème, que je trouve bizarre d'ailleurs, dans les echo du formulaire, j'ai toujours un "Trying to get property of non-object", et là j'avoue que je ne comprend pas.... #-o

Eléphant du PHP | 57 Messages

18 avr. 2011, 15:17

Désolé du double post mais en fait j'y suis arrivée :)
Il s'agissait juste d'un problème avec la variable $monArticle qui n'existait que dans le while, j'ai donc créér d'autres variables.
<?php
	require_once('connexion.php');
	$idArticle = $_GET['article'];
	//	echo '<p>' .$idArticle. '</p>';   // l'idArticle passé en URL est bien récupéré
	$request = 'SELECT * FROM articles WHERE idArticle = "'.$idArticle.'";';
	$resultat = mysql_query ($request, $connexion);
	if (!empty($resultat) or die(mysql_error()))
	{
		while ($monArticle = mysql_fetch_object ($resultat))
		{
			//echo $monArticle->titreArticle;
			//echo $monArticle->contenuArticle;
			$titreArticle = $monArticle->titreArticle;
			$contenuArticle = $monArticle->contenuArticle;
			$descPhoto = $monArticle->descPhoto;
			$idCat = $monArticle->idCat;
			$photoArticle = $monArticle->photoArticle;
		}
	}
?>
Et hop !
Merci à tous.