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 :

Mysql - modifier un enregistrement d'une table par un formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    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 : 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
    <?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 : 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
    <?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.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 348
    Points
    348
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $rq="UPDATE Objet SET nom='$nom' ,categorie='$cat',vignette='$vignette', lien='$lien' WHERE id='$id'";

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    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?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 348
    Points
    348
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>";

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    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é

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    je sais que c'est beaucoup demandé mais si vous aviez du le faire vous vous auriez tapé quoi comme code ?

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    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 : 348
    Points
    348
    Par défaut
    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.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    cela ne fonctionne toujours pas

    la page objet :
    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
    <?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 : 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
    <?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

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    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 : 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
    <?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é

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

Discussions similaires

  1. Comment modifier un enregistrement dans une table ?
    Par pimst37 dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/02/2008, 20h41
  2. Modifier un enregistrement d'une table
    Par Mou dans le forum VBA Access
    Réponses: 6
    Dernier message: 16/05/2007, 13h36
  3. [MySQL] modifier les enregistrement d'une table mysql par un formulaire
    Par belakhdarbts10 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/05/2007, 11h09
  4. Réponses: 7
    Dernier message: 08/03/2007, 16h42
  5. Modifier la structure d'une table par macro / vba
    Par zermatt dans le forum Access
    Réponses: 8
    Dernier message: 21/01/2007, 15h32

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