Bonsoir depuis 16h00 je m'arrache les cheveux, a cause de ce message suivant qui s'affiche :
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\testsphp\caserne\modification2.php on line 27
En faite j'ai crée un page avec un aperçu des champs de ma table et à coté j'ai placé un lien pour les modifier.
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
| <?
/**
* @author WE
* @copyright 2007
*/
mysql_connect("localhost","root","");
mysql_select_db("test");
$reponse = mysql_query("SELECT * FROM personnel ORDER BY Centre");
// On fait une boucle pour lister tous ce qui est dans la table.
while ($donnees = mysql_fetch_array($reponse) )
{
echo("<div align=\"right\">".$donnees->Centre." ".$donnees->Matricule." ".$donnees->Grade." ".$donnees->Nom." ".$donnees->Prenom."<a href=\"modification2.php?idPersonne=".$donnees->id_personne."\">modifier</a><br>\n") ;
?>
<center>
<table border="1" width="80%" id="table1">
<tr>
<td width="50"><? echo $donnees['Centre']; ?></td>
<td width="50"><? echo $donnees['Matricule']; ?></td>
<td width="60"><? echo $donnees['Grade']; ?></td>
<td width="50"><? echo $donnees['Nom']; ?> </td>
<td width="50"><? echo $donnees['Prenom']; ?> </td>
</tr>
</table>
</center>
<?
}
mysql_close(); // Deconnexion de la bd
?> |
Ensuite le lien pour modifier le champ choisi renvoir vers cette page :
c'est sur cette page que l'erreur apparait ???
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| <html>
<head>
<title>modification de données en PHP :: partie2</title>
</head>
<body>
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "test" ) ;
//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["idPersonne"] ;
//requête SQL:
$sql = "SELECT *
FROM personnes
WHERE id_personne = ".$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">
<input type="hidden" name="id" value="<?php echo($id) ;?>">
<table border="0" align="center" cellspacing="2" cellpadding="2">
<tr align="center">
<td>Centre</td>
<td><input type="text" name="Centre" value="<?php echo($result->Centre) ;?>"></td>
</tr>
<tr align="center">
<td>Matricule</td>
<td><input type="text" name="Matricule" value="<?php echo($result->Matricule) ;?>"></td>
</tr>
<tr align="center">
<td>Grade</td>
<td><input type="text" name="Grade" value="<?php echo($result->Grade) ;?>"></td>
</tr>
<tr align="center">
<td>Nom</td>
<td><input type="text" name="Nom" value="<?php echo($result->Nom) ;?>"></td>
</tr>
<tr align="center">
<td>Prénom</td>
<td><input type="text" name="Prenom" value="<?php echo($result->Prenom) ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
</body>
</html> |
et enfin ma derniére page qui met à jour les données :
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
| <?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;
//sélection de la base de données:
$db = mysql_select_db( "test" ) ;
//récupération des valeurs des champs:
//centre:
$Centre = $_POST["Centre"] ;
//matricule:
$Matricule = $_POST["Matricule"] ;
//grade:
$Grade = $_POST["Grade"] ;
//nom:
$Nom = $_POST["Nom"] ;
//prénom:
$Prenom = $_POST["Prenom"] ;
//récupération de l'identifiant de la personne:
$id = $_POST["id"] ;
//création de la requête SQL:
$sql = "UPDATE personnel
SET Centre = '$Centre',
Matricule = '$Matricule',
Grade = '$Grade',
Nom = '$Nom',
Prenom = '$Prenom'
WHERE id_personne = '$id' " ;
//exécution de la requête SQL:
$requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
//affichage des résultats, pour savoir si la modification a marchée:
if($requete)
{
echo("La modification à été correctement effectuée") ;
}
else
{
echo("La modification à échouée") ;
}
?> |
S'il vous plait aidez moi
Partager