Mise à jour dans base de données
mackat
Messages postés
4
Statut
Membre
-
mackat Messages postés 4 Statut Membre -
mackat Messages postés 4 Statut Membre -
Bonjour,
j'ai un grand besoin d'aide pour un script php de mise à jour de données dans une base phpmyadmin.
Je vous plante le décor : on veut que l'administrateur puisse modifier les notices, pour y arriver j'ai cru comprendre qu'il fallait trois étapes : je récupère d'abord les données des notices que j'affiche par un numéro d'inventaire, lorsque l'on clique dessus on récupère les données dans un formulaire , on modifie les champs que l'on souhaite on valide et on voit un nouveau formulaire qui affiche les modifications apportées et validées dans la base.
Tout s'exécute, mais il semble que les changements ne s'effectue pas dans la base. Je ne comprends pas où ça coince et je dois rendre le projet dans la semaine, bref, c'est pas la joie!
Je vous mets les trois scripts : d'abord celui qui liste :
<?php
include_once("securite/connexion.inc.php");//récupération des données du fichier sécurité
$connexion=mysql_connect($host,$user,$password);//connexion à la base
mysql_select_db('FODIO4');//sélection de la base
$requete = "SELECT id_validation, numero_inventaire FROM objets WHERE id_validation=1 ORDER BY numero_inventaire ASC";
$resultat = mysql_query($requete);
while( $enregistrements = mysql_fetch_array($resultat) )
{
$modifier=$enregistrements['numero_inventaire'];
echo "Modifier la notice de l'objet suivant : ".$enregistrements ['numero_inventaire']." ";
echo "<a href=test_modifier.php?modifier=$modifier>Modifier</a></BR>";
}
mysql_close($connexion);
?>
celui de modification :
<?php
include_once("securite/connexion.inc.php");//récupération des données du fichier sécurité
$modifier=$_GET['modifier'];//rappel de la variable de liste.php
$connexion=mysql_connect($host,$user,$password);//connexion à la base
$base = mysql_select_db("FODIO4", $connexion);//sélection de la base
$requete = "SELECT * FROM objets WHERE numero_inventaire ='$modifier';";
$resultat = mysql_query($requete);
while ($enregistrements = mysql_fetch_array($resultat))
{
$numero_inventaire = $enregistrements['numero_inventaire'];
$datation = $enregistrements['datation'];
$dimensions = $enregistrements['dimensions'];
$denomination = $enregistrements['denomination'];
$domaine = $enregistrements['domaine'];
$description = $enregistrements['description'];
$id_periode_historique = $enregistrements['id_periode_historique'];
$id_lieu_conservation = $enregistrements['id_lieu_conservation'];
}
?>
<form action="test_modifier_base.php" method="POST">
<input type="hidden" name="modifier" value="<?php echo $modifier ?>" />
<p>Numéro d'inventaire : <?php echo $numero_inventaire;?> </p>
<p>Datation : <input type=text name=datation value="<?php echo $datation; ?>"/></p>
<p>Dimensions : <input type=text name=dimensions value="<?php echo $dimensions; ?>"/></p>
<p>Dénomination: <input type=text name=denomination value="<?php echo $denomination; ?>"/></p>
<p>Domaine : <input type=text name=domaine value="<?php echo $domaine; ?>"/></p>
<p>Description : <input type=text name=description value="<?php echo $description; ?>"/></p>
<p>Période historique : <input type=text name=periodeHistorique value="<?php echo $id_periode_historique; ?>"/></p>
<p>Lieu de conservation : <input type=text name=lieuConservation value="<?php echo $id_lieu_conservation; ?>"/></p>
<p><input type="submit" value="Modifier"></p>
</form>
<?php
mysql_close($connexion);
?>
et celui qui permet de voir les modifs dans la base :
<?php
include_once("securite/connexion.inc.php");
$numero_inventaire = $_POST['numero_inventaire'];
$datation = $_POST['datation'];
$dimensions = $_POST['dimensions'];
$denomination = $_POST['denomination'];
$domaine = $_POST['domaine'];
$description = $_POST['description'];
$id_periode_historique =$_POST['id_periode_historique'];
$id_lieu_conservation =$_POST['id_lieu_conservation'];
$connexion = mysql_connect($host,$user,$password);//connexion à la base
$base = mysql_select_db("FODIO4", $connexion);//sélection de la base
$mise_a_jour = "UPDATE objets SET numero_inventaire = '$numero_inventaire', datation = '$datation', dimensions = '$dimensions',
denomination = '$denomination', domaine = '$domaine', description='$description', id_periode_historique ='$id_periode_historique', id_lieu_conservation = '$id_lieu_conservation' WHERE numero_inventaire = '$modifier';";
$resultat_mise_a_jour = mysql_query($mise_a_jour);
$requete = "SELECT * FROM objets where numero_inventaire = '$modifier';";
$resultat = mysql_query($requete);
while ($enregistrements = mysql_fetch_array($resultat))
{
$numero_inventaire = $enregistrements['numero_inventaire'];
$datation = $enregistrements['datation'];
$dimensions = $enregistrements['dimensions'];
$denomination = $enregistrements['denomination'];
$domaine = $enregistrements['domaine'];
$description = $enregistrements['description'];
$id_periode_historique = $enregistrements['id_periode_historique'];
$id_lieu_conservation = $enregistrements ['id_lieu_conservation'];
}
if($requete)
{
echo "La modification a été correctement effectuée" ;
}
else
{
echo "La modification à échouée" ;
}
?>
<form action="test_modifier_base.php" method="POST">
<input type="hidden" name="modifier" value="<?php echo $modifier; ?>"/>
<p>Numéro d'inventaire : <?= $numero_inventaire ?> </p>
<p>Datation : <input type=text name=datation value="<?php echo $datation; ?>"/></p>
<p>Dimensions : <input type=text name=dimensions value="<?php echo $dimensions; ?>"/></p>
<p>Dénomination : <input type=text name=denomination value="<?php echo $denomination; ?>"/></p>
<p>Domaine : <input type=text name=domaine value="<?php echo $domaine; ?>"/></p>
<p>Description : <input type=text name=description value="<?php echo $description; ?>"/></p>
<p>Période historique : <input type=text name=periodeHistorique value="<?php echo $id_periode_historique; ?>"/></p>
<p>Lieu de conservation : <input type=text name=lieuConservation value="<?php echo $id_lieu_conservation; ?>"/></p>
<p><input type="submit" value="Modifier"></p>
<p><a href=test_liste.php>Retour à la liste</a></p>
</form>
<?php
mysql_close($connexion);
?>
Alors, quelqu'un a-t-il une brillante idée????
Merci pour votre aide
j'ai un grand besoin d'aide pour un script php de mise à jour de données dans une base phpmyadmin.
Je vous plante le décor : on veut que l'administrateur puisse modifier les notices, pour y arriver j'ai cru comprendre qu'il fallait trois étapes : je récupère d'abord les données des notices que j'affiche par un numéro d'inventaire, lorsque l'on clique dessus on récupère les données dans un formulaire , on modifie les champs que l'on souhaite on valide et on voit un nouveau formulaire qui affiche les modifications apportées et validées dans la base.
Tout s'exécute, mais il semble que les changements ne s'effectue pas dans la base. Je ne comprends pas où ça coince et je dois rendre le projet dans la semaine, bref, c'est pas la joie!
Je vous mets les trois scripts : d'abord celui qui liste :
<?php
include_once("securite/connexion.inc.php");//récupération des données du fichier sécurité
$connexion=mysql_connect($host,$user,$password);//connexion à la base
mysql_select_db('FODIO4');//sélection de la base
$requete = "SELECT id_validation, numero_inventaire FROM objets WHERE id_validation=1 ORDER BY numero_inventaire ASC";
$resultat = mysql_query($requete);
while( $enregistrements = mysql_fetch_array($resultat) )
{
$modifier=$enregistrements['numero_inventaire'];
echo "Modifier la notice de l'objet suivant : ".$enregistrements ['numero_inventaire']." ";
echo "<a href=test_modifier.php?modifier=$modifier>Modifier</a></BR>";
}
mysql_close($connexion);
?>
celui de modification :
<?php
include_once("securite/connexion.inc.php");//récupération des données du fichier sécurité
$modifier=$_GET['modifier'];//rappel de la variable de liste.php
$connexion=mysql_connect($host,$user,$password);//connexion à la base
$base = mysql_select_db("FODIO4", $connexion);//sélection de la base
$requete = "SELECT * FROM objets WHERE numero_inventaire ='$modifier';";
$resultat = mysql_query($requete);
while ($enregistrements = mysql_fetch_array($resultat))
{
$numero_inventaire = $enregistrements['numero_inventaire'];
$datation = $enregistrements['datation'];
$dimensions = $enregistrements['dimensions'];
$denomination = $enregistrements['denomination'];
$domaine = $enregistrements['domaine'];
$description = $enregistrements['description'];
$id_periode_historique = $enregistrements['id_periode_historique'];
$id_lieu_conservation = $enregistrements['id_lieu_conservation'];
}
?>
<form action="test_modifier_base.php" method="POST">
<input type="hidden" name="modifier" value="<?php echo $modifier ?>" />
<p>Numéro d'inventaire : <?php echo $numero_inventaire;?> </p>
<p>Datation : <input type=text name=datation value="<?php echo $datation; ?>"/></p>
<p>Dimensions : <input type=text name=dimensions value="<?php echo $dimensions; ?>"/></p>
<p>Dénomination: <input type=text name=denomination value="<?php echo $denomination; ?>"/></p>
<p>Domaine : <input type=text name=domaine value="<?php echo $domaine; ?>"/></p>
<p>Description : <input type=text name=description value="<?php echo $description; ?>"/></p>
<p>Période historique : <input type=text name=periodeHistorique value="<?php echo $id_periode_historique; ?>"/></p>
<p>Lieu de conservation : <input type=text name=lieuConservation value="<?php echo $id_lieu_conservation; ?>"/></p>
<p><input type="submit" value="Modifier"></p>
</form>
<?php
mysql_close($connexion);
?>
et celui qui permet de voir les modifs dans la base :
<?php
include_once("securite/connexion.inc.php");
$numero_inventaire = $_POST['numero_inventaire'];
$datation = $_POST['datation'];
$dimensions = $_POST['dimensions'];
$denomination = $_POST['denomination'];
$domaine = $_POST['domaine'];
$description = $_POST['description'];
$id_periode_historique =$_POST['id_periode_historique'];
$id_lieu_conservation =$_POST['id_lieu_conservation'];
$connexion = mysql_connect($host,$user,$password);//connexion à la base
$base = mysql_select_db("FODIO4", $connexion);//sélection de la base
$mise_a_jour = "UPDATE objets SET numero_inventaire = '$numero_inventaire', datation = '$datation', dimensions = '$dimensions',
denomination = '$denomination', domaine = '$domaine', description='$description', id_periode_historique ='$id_periode_historique', id_lieu_conservation = '$id_lieu_conservation' WHERE numero_inventaire = '$modifier';";
$resultat_mise_a_jour = mysql_query($mise_a_jour);
$requete = "SELECT * FROM objets where numero_inventaire = '$modifier';";
$resultat = mysql_query($requete);
while ($enregistrements = mysql_fetch_array($resultat))
{
$numero_inventaire = $enregistrements['numero_inventaire'];
$datation = $enregistrements['datation'];
$dimensions = $enregistrements['dimensions'];
$denomination = $enregistrements['denomination'];
$domaine = $enregistrements['domaine'];
$description = $enregistrements['description'];
$id_periode_historique = $enregistrements['id_periode_historique'];
$id_lieu_conservation = $enregistrements ['id_lieu_conservation'];
}
if($requete)
{
echo "La modification a été correctement effectuée" ;
}
else
{
echo "La modification à échouée" ;
}
?>
<form action="test_modifier_base.php" method="POST">
<input type="hidden" name="modifier" value="<?php echo $modifier; ?>"/>
<p>Numéro d'inventaire : <?= $numero_inventaire ?> </p>
<p>Datation : <input type=text name=datation value="<?php echo $datation; ?>"/></p>
<p>Dimensions : <input type=text name=dimensions value="<?php echo $dimensions; ?>"/></p>
<p>Dénomination : <input type=text name=denomination value="<?php echo $denomination; ?>"/></p>
<p>Domaine : <input type=text name=domaine value="<?php echo $domaine; ?>"/></p>
<p>Description : <input type=text name=description value="<?php echo $description; ?>"/></p>
<p>Période historique : <input type=text name=periodeHistorique value="<?php echo $id_periode_historique; ?>"/></p>
<p>Lieu de conservation : <input type=text name=lieuConservation value="<?php echo $id_lieu_conservation; ?>"/></p>
<p><input type="submit" value="Modifier"></p>
<p><a href=test_liste.php>Retour à la liste</a></p>
</form>
<?php
mysql_close($connexion);
?>
Alors, quelqu'un a-t-il une brillante idée????
Merci pour votre aide
A voir également:
- Mise à jour dans base de données
- Fuite données maif - Guide
- Mise a jour chrome - Accueil - Applications & Logiciels
- Mise a jour windows 10 - Accueil - Mise à jour
- Mise a jour chromecast - Accueil - Guide TV et vidéo
- Mise à jour libre office - Accueil - Bureautique
2 réponses
Bonjour
il y a au moins ça :
$numero_inventaire = $_POST['numero_inventaire']; // cette variable n'existe pas dans ton formulaire
$id_periode_historique =$_POST['id_periode_historique']; // cette variable n'a pas ce nom là dans ton formulaire
$id_lieu_conservation =$_POST['id_lieu_conservation']; // cette variable n'a pas ce nom là dans ton formulaire
$mise_a_jour = "UPDATE objets ... WHERE numero_inventaire = '$modifier';"; // 'modifier' existe bien dans le formulaire, mais n'est pas récupéré dans ce script
il y a au moins ça :
$numero_inventaire = $_POST['numero_inventaire']; // cette variable n'existe pas dans ton formulaire
$id_periode_historique =$_POST['id_periode_historique']; // cette variable n'a pas ce nom là dans ton formulaire
$id_lieu_conservation =$_POST['id_lieu_conservation']; // cette variable n'a pas ce nom là dans ton formulaire
$mise_a_jour = "UPDATE objets ... WHERE numero_inventaire = '$modifier';"; // 'modifier' existe bien dans le formulaire, mais n'est pas récupéré dans ce script