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 10/02/2011, 16h16   #1
Invité de passage
 
Inscription : février 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 11
Points : 1
Points : 1
Par défaut Mysql - modifier un enregistrement d'une table par un formulaire

bonjour, je viens demander votre aide pour un gros problème.

Je dois faire un site ou l'une des page permet de modifier, grâce à un formulaire, ou supprimer un objet d'une base de donnée MySQL.

Pour la partie suppression nous y sommes arrivé cependant la partie modifier ne fonctionne pas. Nous avons l'impression que la requête ne récupère pas les informations posté dans le formulaire.

voici la page qui affiche les objets et demande à l'utilisateur sont choix
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
<?php
	session_start();
	if (!isset($_SESSION['login'])) {
	header ('index.php');
	exit();
	}
	include("config.php")
	?>
 
<html>	
	<head>
	<title> bienvenue dans votre espace pour gerer vos objet </title>
	</head>
	<body>
 
	<?php
	mysql_connect($host, $user, $password); 
	mysql_select_db ($database) or die ("connection imposible");
	$ki=$_SESSION['login'];
	$ru="SELECT nom FROM Objet INNER JOIN Membre ON Objet.id_Membre=Membre.id_Membre WHERE login='$ki'";
	$result=mysql_query($ru)
	or die ("exécution de la requête impossible");
 
	// Création d'une liste bouton radio //
	echo "<form action='modifObjet.php' method='post' >
		<select name='Objetsel'>\n";
	while ($ligne=mysql_fetch_assoc($result))
		{
		extract($ligne);
		echo "<option value='$nom'>$nom\n";
		}
	echo "</select>\n";
	echo "<p><input name='envoi' type='submit' value='Modifier'></form>\n";
	echo "<p><input name='envoi' type='submit' value='Supprimer'>\n";	
	?>
 
 
	<p> <a  href="AjoutObjet.php" > <img src="img/AjoutObj.png"width="100" height="100" align="middle"  /> Ajouter un objet </p> <br/>
	</body>
	</html>
Et voici la page qui permet de modifier ou supprimer un objet

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
<?php
	session_start();
	if (!isset($_SESSION['login'])) {
	header ('index.php');
	exit();
	}
	include("config.php")
	?>
 
<?php
mysql_connect($host, $user, $password); 
	mysql_select_db ($database) or die ("connection imposible");
 
if ($_POST['envoi']=="Modifier"){
	echo "modification";
	?>
	<html>
<form action="modifObjet.php" method="post"> 
		Nom : <input type="text" name="nom" value="<?php if (isset($_POST['nom'])) echo htmlentities(trim($_POST['nom'])); ?>"><br/>
		Catégorie : <input type="text" name="categorie" value="<?php if (isset($_POST['categorie'])) echo htmlentities(trim($_POST['categorie'])); ?>"><br/>
		Vignette : <input type="text" name="vignette" value="<?php if (isset($_POST['vignette'])) echo htmlentities(trim($_POST['vignette'])); ?>"><br/>
		Lien : <input type="text" name="lien" value="<?php if (isset($_POST['lien'])) echo htmlentities(trim($_POST['lien'])); ?>"><br/>
</form>
<?php 
	echo "<form action='modifObjet.php' method='POST'> <input name='envoi' type='submit' value='Inserer'>";
?>
</html>
	<?php	
	$vobjet=$_POST['Objetsel'];
	echo "$vobjet";
	$rq="UPDATE Objet SET nom=$nom ,categorie=$cat,vignette=$vignette, lien=$lien WHERE nom=$nom";
	mysql_query($rq) or die ("planté!!!");	
}
if ($_POST['envoi']=="Supprimer"){	
	echo "supression";
	$vobjet=$_POST['Objetsel'];
	echo "$vobjet";
	$rq="DELETE FROM Objet WHERE nom='$vobjet'";
	mysql_query($rq);
	echo "Votre ligne a été supprimer";
}	
 
?>

veuillez nous excuser pour les erreurs d'indentation, on est encore en chantier

Merci pour votre aide.
stark57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 16h24   #2
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Code :
$rq="UPDATE Objet SET nom=$nom ,categorie=$cat,vignette=$vignette, lien=$lien WHERE nom=$nom";
Tu demande à ta requête de mettre à jour l'ancien nom par le nouveau nom quand l'ancien nom à la même valeur que le nouveau nom.

Tu doit travailler sur un ID ce qui te donnera et mettre des guillemets pour tes chaines.

Code :
$rq="UPDATE Objet SET nom='$nom' ,categorie='$cat',vignette='$vignette', lien='$lien' WHERE id='$id'";
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 17h00   #3
Invité de passage
 
Inscription : février 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 11
Points : 1
Points : 1
Sinon est il possible de modifier la page objet.php pour que celle-ci envoie sur une page modifier si l'utilisateur clique sur le bouton modifier, et sur une page supprimer si il clique sur supprimé. Tout en envoyant la valeur de l'objet selctionner dans les 2 pages?
stark57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2011, 17h14   #4
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Code :
1
2
3
 
echo "<p><input name='envoi' type='submit' value='Modifier'></form>\n";
echo "<p><input name='envoi' type='submit' value='Supprimer'>\n";
changé par

Code :
1
2
3
 
echo "<a href=modifier.php?idobjet='<?php echo $id ?>'>Modifier</a>";
echo "<a href=supprimer.php?idobjet='<?php echo $id ?>'>Supprimer</a>";
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 13h19   #5
Invité de passage
 
Inscription : février 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 11
Points : 1
Points : 1
On arrive bien a passer d'une page à l'autre mais il ne récupère pas l'id ou le nom (j'ai essayé) de l'objet sélectionné
stark57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 13h30   #6
Invité de passage
 
Inscription : février 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 11
Points : 1
Points : 1
je sais que c'est beaucoup demandé mais si vous aviez du le faire vous vous auriez tapé quoi comme code ?
stark57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 14h02   #7
Membre éclairé
 
Homme Jérémy
Étudiant
Inscription : octobre 2009
Messages : 236
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2009
Messages : 236
Points : 322
Points : 322
Si tu utilise le code que je t'ai montré, dans les pages modifier ou supprimer tu fait :

pour récupérer la valeur de l'id.
gwharl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 15h17   #8
Invité de passage
 
Inscription : février 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 11
Points : 1
Points : 1
cela ne fonctionne toujours pas

la page objet :
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
<?php
	session_start();
	if (!isset($_SESSION['login'])) {
	header ('index.php');
	exit();
	}
	include("config.php")
	?>
 
<html>	
	<head>
	<title> bienvenue dans votre espace pour gerer vos objet </title>
	</head>
	<body>
 
	<?php
	mysql_connect($host, $user, $password); 
	mysql_select_db ($database) or die ("connection imposible");
	$ki=$_SESSION['login'];
	$ru="SELECT nom FROM Objet INNER JOIN Membre ON Objet.id_Membre=Membre.id_Membre WHERE login='$ki'";
	$result=mysql_query($ru)
	or die ("exécution de la requête impossible");
 
	// Création d'une liste bouton radio //
	echo "<form action='modifObjet.php' method='post' >
		<select name='Objetsel'>\n";
	while ($ligne=mysql_fetch_assoc($result))
		{
		extract($ligne);
		echo "<option value='$nom'>$nom\n";
		}
	echo "</select>\n";
 
echo "<a href=modifier.php?id_objet='<?php echo $id_objet ?>'>Modifier</a>";
echo "<a href=supprimer.php?id_objet='<?php echo $id_objet ?>'>Supprimer</a>";
 
	?>
 
 
	<p> <a  href="AjoutObjet.php" > <img src="img/AjoutObj.png"width="100" height="100" align="middle"  /> Ajouter un objet </p> <br/>
	</body>
	</html>
la page supprimer:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
	session_start();
	if (!isset($_SESSION['login'])) {
	header ('index.php');
	exit();
	}
	include("config.php")
	?>
<?php
echo "supression";
	$vobjet=$_Get['id_objet'];
	echo "$vobjet";
	$rq="DELETE FROM Objet WHERE nom='$vobjet'";
	mysql_query($rq);
	echo "Votre ligne a été supprimer";
?>
et voici ce que marque la fin de la barre url : /supprimer.php?id_objet='<?php
stark57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2011, 15h58   #9
Invité de passage
 
Inscription : février 2011
Messages : 11
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 11
Points : 1
Points : 1
En fin de compte j'ai reussi à faire sur la même page par une simple simplification de code

voici le code de la page pour ceux qui aurait le même type de problème

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
<?php
	session_start();
	if (!isset($_SESSION['login'])) {
	header ('index.php');
	exit();
	}
	include("config.php")
	?>
 
<?php
mysql_connect($host, $user, $password); 
	mysql_select_db ($database) or die ("connection imposible");
 
if ($_POST['envoi']=="Modifier"){
	echo "modification";
	?>
	<html>
<form action="modifObjet.php" method="post"> 
		Nom : <input type="text" name="nom" ><br/>
		Catégorie : <input type="text" name="categorie" ><br/>
		Vignette : <input type="text" name="vignette" ><br/>
		Lien : <input type="text" name="lien" ><br/>
		<input name="envoi" type="submit" value="Modifier">
</form>
</html>
	<?php	
	$vobjet=$_POST['Objetsel'];
	echo "$vobjet</br>";
	$nom=$_POST['nom'];
	$cat=$_POST['categorie'];
	$vignette=$_POST['vignette'];
	$lien=$_POST['lien'];
	echo "Vous avez entrer : $nom, $cat, $vignette, $lien";
	$rq="UPDATE Objet SET nom='$nom' ,categorie='$cat',vignette='$vignette', lien='$lien' WHERE nom='$vobjet'";
	mysql_query($rq) or die ("planté!!!");	
	echo "<p> <a href='objet.php' > retour </a> </p>";
}
if ($_POST['envoi']=="Supprimer"){	
	echo "<H3>supression</H3></br>";
	$vobjet=$_POST['Objetsel'];
	echo "L'objet $vobjet";
	$rq="DELETE FROM Objet WHERE nom='$vobjet'";
	mysql_query($rq);
	echo " a été supprimer</br>";
	echo "<p> <a href='objet.php' > retour </a> </p>";
}	
 
?>
merci pour l'aide


PS: je sais pas comment on fait pour ecrire résolut ! désolé
stark57 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 11h55.


 
 
 
 
Partenaires

Hébergement Web