[PHP] Undefined index pour récup value

Résolu/Fermé
onaos Messages postés 4 Date d'inscription vendredi 16 février 2007 Statut Membre Dernière intervention 23 avril 2009 - 24 févr. 2009 à 10:51
MysticSquall Messages postés 401 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 7 octobre 2011 - 24 févr. 2009 à 14:27
Bonjour,

Bon, au départ, un tableau un tableau est crée et rempli avec les données d'une base de données. Celle-ci sont placée dans des zones de texte via value.
Le tout est dans une boucle While pour afficher toutes les données de la base sur un critères de recherche. Jusque là tout va bien.

Mon problème apparaît lorsque je souhaite mettre à jour.

En effet, je voudrais que une fois tout le tableau affiché. Il suffit de modifier les données dans les zones de texte et puis cliquer sur un bouton "Mise à jour" pour que les données tapées dans les zones de texte remplace celle de la base de données.

Voici mon code :

<?php include("config.php"); ?>
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
  <input name='recherche' type='text' value="">
  <input type="submit" name="search" value="Rechercher">
  <input type="submit" name="maj" value="Mettre à jour">
</form>
<?php
// Début de la recherche
if (isset($_POST['search']))
{
	$requete = "SELECT * FROM $table WHERE name like '%".strtoupper(htmlentities($_POST['recherche']))."%';";
	$resultat = mysql_query($requete);
	//DÉBUT DE LA TABLE
	echo "<table id='content'>";
		//DÉBUT DE LA BOUCLE
		while ($val = mysql_fetch_array($resultat))
			{
			echo"<tr>";
			echo"<td><input name=\"test\" type='text' value=".$val['id']."></td>";
			$test=trim($_POST['test']);  
			echo $test;
			echo"<td><input name='nom' type='text' value=".$val['name']."></td>";
			echo"<td><input name='prenom' type='text' value=".$val["username"]."></td>";
			echo"<td><input name='anniversaire' type='text' value=".$val["bornday"]."></td>";
			echo"<td><input name='adresse' type='text' value=".$val["adresse"]."></td>";
			echo"<td><input name='nat' type='text' value=".$val["nat"]."></td>";
			echo"<td>Licence payée : <input type='checkbox' name='valid' ";
				if ($val['valid']==1)
				{echo"checked";}
			echo"></td>";
			echo"<td>";
				if (($val["valid"])==1)
				{echo "<form><input type='submit' name='print' value='Print' onclick='imprimer()'></form>";}
				elseif (($val["valid"])==0)
				{echo "En cours";}
			echo"</td>";
			echo"</tr>";
			}
		//FIN DE LA BOUCLE
	echo "</table>";
	//FIN DE LA TABLE
}


Merci d'avance pour votre précieuse aide.
A voir également:

1 réponse

MysticSquall Messages postés 401 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 7 octobre 2011 27
24 févr. 2009 à 14:27
if (isset($_POST['search']))

{


echo "<FORM method="POST" action="tapage.php">";


$requete = "SELECT * FROM $table WHERE name like '%".strtoupper(htmlentities($_POST['recherche']))."%';";
$resultat = mysql_query($requete);
//DÉBUT DE LA TABLE
echo "<table id='content'>";
//DÉBUT DE LA BOUCLE
while ($val = mysql_fetch_array($resultat))
{
echo"<tr>";
echo"<td><input name=\"test\" type='text' value=".$val['id']."></td>";
$test=trim($_POST['test']);
echo $test;
echo"<td><input name='nom' type='text' value=".$val['name']."></td>";
echo"<td><input name='prenom' type='text' value=".$val["username"]."></td>";
echo"<td><input name='anniversaire' type='text' value=".$val["bornday"]."></td>";
echo"<td><input name='adresse' type='text' value=".$val["adresse"]."></td>";
echo"<td><input name='nat' type='text' value=".$val["nat"]."></td>";
echo"<td>Licence payée : <input type='checkbox' name='valid' ";
if ($val['valid']==1)
{echo"checked";}
echo"></td>";
echo"<td>";
if (($val["valid"])==1)
{echo "<form><input type='submit' name='print' value='Print' onclick='imprimer()'></form>";}
elseif (($val["valid"])==0)
{echo "En cours";}
echo"</td>";
echo"</tr>";
}
//FIN DE LA BOUCLE
echo "</table>";
//FIN DE LA TABLE


tu rajoute un bouton mettre a jour avec un name="maj" par exemple
echo "</FORM>";


}


plus bas tu met

if (isset($_POST['maj'])){
$sql = "UPDATE matable SET nom =$_POST['nom'], champ2 = valeur2 ..ect WHERE identifiant = l'identifiant;
mysql_query($sql);

}
0