Problème modifications de données sql
jrweb58
-
darquos -
darquos -
Bonjour à tous,
Je débute en PHP et SQL et j’ai besoin d’aide
J’ai récupéré sur le net un script de modification de données ( je ne sais plus ou ni qui l’a fait) par un interface web qui se trouve en partie admin d’un site.
Ma base sql (agence) comprend la table t_images qui elle comprend les champs id_im, nom , lamy, date, comment, cota, parte, embal
Lorsque j’ai un enregistrement dans ma table et que je veux le modifier, je passe par le fichier modification 1 qui me liste tous les enregistrements présents dans ma table classés par ordre de référence ( lamy ) avec un bouton modifier à coté de chaque enregistrement. En cliquant sur ce dernier j’ouvre le fichier modification 2 qui me dresse une liste de mon enregistrement sélectionné. Je fais la modif dans le champs concerné et je clique sur modifier pour lancer le fichier modification 3 et là je n’ai pas de message d’erreur mais mon enregistrement est vidé de toutes ses données ??? : par cette opération j’ai vidé toutes les données de cet enregistrement mais celui-ci n’est pas effacé
Si quelqu’un peut m’aider ou me donner une autre solution car ce système est bien alors j’aimerai l’utiliser pour mon site
Merci
Voici les 3 fichiers de modification ( en partie) cela fait beaucoup de code mais indispensable pour comprendre le fichier 3 qui est je pense la source d’erreur mais je n’arrive pas trouver laquelle
Fichier modification 1
<?php
//requête SQL:
$sql = "SELECT *
FROM t_images
ORDER BY nom asc" ;
//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;
//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{
echo("<div align=\"center\">".$result->lamy." <a href=\"modification2.php?idnom=".$result->id_im."\">modifier</a><br>\n") ;
}
?>
Fichier modification 2
<?php
//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["idnom"] ;
//requête SQL:
$sql = "SELECT *
FROM t_images
WHERE id_im = ".$id ;
//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;
//affichage des données:
if( $result = mysql_fetch_object( $requete ) )
{
?>
<form name="insertion" action="modification3.php" method="POST">
<!---------------------------------------------------------------------------------------------------->
<!-- champ caché qui va nous servir à 'sauvegarder' l'identifiant de la personne -->
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<!---------------------------------------------------------------------------------------------------->
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>Référence Image </td>
<td><input name="ref image" type="text" id="ref image" value="<?php echo($result->nom) ;?>"></td>
</tr>
<tr align="center">
<td>Référence Agence </td>
<td><input name="ref agence" type="text" id="ref agence" value="<?php echo($result->lamy) ;?>"></td>
</tr>
<tr align="center">
<td>Prix</td>
<td><input name="prix" type="text" id="prix" value="<?php echo($result->cota) ;?>"></td>
</tr>
<tr align="center">
<td>Lieu</td>
<td><input name="lieu" type="text" id="lieu" value="<?php echo($result->embal) ;?>"></td>
</tr>
<tr align="center">
<td>Supperficie</td>
<td><input name="superficie" type="text" id="superficie" value="<?php echo($result->parte) ;?>"></td>
</tr>
<tr align="center">
<td>Année</td>
<td><input name="année" type="text" id="année" value="<?php echo($result->date) ;?>"></td>
</tr>
<tr align="center">
<td>Commentaires</td>
<td><textarea name="commentaires" id="commentaires"><?php echo($result->comment) ;?>
</textarea></td>
</tr>
<tr align="center">
<td colspan="2"><input name="submit" type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
Fichier modification 3
<?php
//récupération des valeurs des champs:
//Référence image:
$nom = $_POST["nom"] ;
//Référence agence:
$lamy = $_POST["lamy"] ;
//Prix:
$cota = $_POST["cota"] ;
//Lieu:
$embal = $_POST["embal"] ;
//Année:
$date = $_POST["Année"] ;
//Superficie:
$parte = $_POST["parte"] ;
//Commentaires:
$comment = $_POST["comment"] ;
//récupération de l'identifiant de la personne:
$id = $_POST["id"] ;
//création de la requête SQL:
$sql = "UPDATE t_images
SET nom = '$nom',
lamy = '$lamy',
cota = '$cota',
embal = '$embal',
date = '$date',
parte = '$parte',
comment = '$comment'
WHERE id_im = '$id' " ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
echo("La modification à été correctement effectuée") ;
else
echo("La modification à échouée") ;
?>
Je débute en PHP et SQL et j’ai besoin d’aide
J’ai récupéré sur le net un script de modification de données ( je ne sais plus ou ni qui l’a fait) par un interface web qui se trouve en partie admin d’un site.
Ma base sql (agence) comprend la table t_images qui elle comprend les champs id_im, nom , lamy, date, comment, cota, parte, embal
Lorsque j’ai un enregistrement dans ma table et que je veux le modifier, je passe par le fichier modification 1 qui me liste tous les enregistrements présents dans ma table classés par ordre de référence ( lamy ) avec un bouton modifier à coté de chaque enregistrement. En cliquant sur ce dernier j’ouvre le fichier modification 2 qui me dresse une liste de mon enregistrement sélectionné. Je fais la modif dans le champs concerné et je clique sur modifier pour lancer le fichier modification 3 et là je n’ai pas de message d’erreur mais mon enregistrement est vidé de toutes ses données ??? : par cette opération j’ai vidé toutes les données de cet enregistrement mais celui-ci n’est pas effacé
Si quelqu’un peut m’aider ou me donner une autre solution car ce système est bien alors j’aimerai l’utiliser pour mon site
Merci
Voici les 3 fichiers de modification ( en partie) cela fait beaucoup de code mais indispensable pour comprendre le fichier 3 qui est je pense la source d’erreur mais je n’arrive pas trouver laquelle
Fichier modification 1
<?php
//requête SQL:
$sql = "SELECT *
FROM t_images
ORDER BY nom asc" ;
//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;
//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{
echo("<div align=\"center\">".$result->lamy." <a href=\"modification2.php?idnom=".$result->id_im."\">modifier</a><br>\n") ;
}
?>
Fichier modification 2
<?php
//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["idnom"] ;
//requête SQL:
$sql = "SELECT *
FROM t_images
WHERE id_im = ".$id ;
//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;
//affichage des données:
if( $result = mysql_fetch_object( $requete ) )
{
?>
<form name="insertion" action="modification3.php" method="POST">
<!---------------------------------------------------------------------------------------------------->
<!-- champ caché qui va nous servir à 'sauvegarder' l'identifiant de la personne -->
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<!---------------------------------------------------------------------------------------------------->
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>Référence Image </td>
<td><input name="ref image" type="text" id="ref image" value="<?php echo($result->nom) ;?>"></td>
</tr>
<tr align="center">
<td>Référence Agence </td>
<td><input name="ref agence" type="text" id="ref agence" value="<?php echo($result->lamy) ;?>"></td>
</tr>
<tr align="center">
<td>Prix</td>
<td><input name="prix" type="text" id="prix" value="<?php echo($result->cota) ;?>"></td>
</tr>
<tr align="center">
<td>Lieu</td>
<td><input name="lieu" type="text" id="lieu" value="<?php echo($result->embal) ;?>"></td>
</tr>
<tr align="center">
<td>Supperficie</td>
<td><input name="superficie" type="text" id="superficie" value="<?php echo($result->parte) ;?>"></td>
</tr>
<tr align="center">
<td>Année</td>
<td><input name="année" type="text" id="année" value="<?php echo($result->date) ;?>"></td>
</tr>
<tr align="center">
<td>Commentaires</td>
<td><textarea name="commentaires" id="commentaires"><?php echo($result->comment) ;?>
</textarea></td>
</tr>
<tr align="center">
<td colspan="2"><input name="submit" type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
Fichier modification 3
<?php
//récupération des valeurs des champs:
//Référence image:
$nom = $_POST["nom"] ;
//Référence agence:
$lamy = $_POST["lamy"] ;
//Prix:
$cota = $_POST["cota"] ;
//Lieu:
$embal = $_POST["embal"] ;
//Année:
$date = $_POST["Année"] ;
//Superficie:
$parte = $_POST["parte"] ;
//Commentaires:
$comment = $_POST["comment"] ;
//récupération de l'identifiant de la personne:
$id = $_POST["id"] ;
//création de la requête SQL:
$sql = "UPDATE t_images
SET nom = '$nom',
lamy = '$lamy',
cota = '$cota',
embal = '$embal',
date = '$date',
parte = '$parte',
comment = '$comment'
WHERE id_im = '$id' " ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si l'insertion a marchée:
if($requete)
echo("La modification à été correctement effectuée") ;
else
echo("La modification à échouée") ;
?>
A voir également:
- Problème modifications de données sql
- Fuite données maif - Guide
- Suivi des modifications word - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Sauvegarde des données - Guide
1 réponse
Je me permet de répondre même si le message date de plus de 3 ans :) :)
En faite, les <input name="ref agence" correspondent au nom des variables qui vont circuler de page en page. En suite, on les récupères grâce à $lamy = $_POST["lamy"] ; à condition biensur qu'elles portent le même nom. Ce qui n'est pas le cas ici puisque tous les "name" sont différents des "$_POST[]"
En faite, les <input name="ref agence" correspondent au nom des variables qui vont circuler de page en page. En suite, on les récupères grâce à $lamy = $_POST["lamy"] ; à condition biensur qu'elles portent le même nom. Ce qui n'est pas le cas ici puisque tous les "name" sont différents des "$_POST[]"