Modifier des données mysql via php

Fitz Chivalry Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   -  
 ima -
Bonjour à tous,

je me lance dans le php/mySQL à l'aide de tuto ici et là,
je voudrais modifier les données de ma base en suivant ce tuto :http://wiki.mediabox.fr/tutoriaux/php/inserer-modifier-supprimer-des-donne-php

la première page de modification marche nickel, mais lors de la deuxième j'ai ce message d'erreur :
"Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\standing_issues\admin\modify_data_two.php on line 24"

voici le code de la ligne 24 :

if( $result = mysql_fetch_object( $requete ) )

et voici le code de ma page :

<html>
<head>
<title>Modify Data - Page 2</title>
</head>
<body>
<?php
//connection to server:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//select data base
$db = mysql_select_db( "bombardier" ) ;

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["idissue"] ;

//requête SQL:
$sql = "SELECT * FROM standing_issue WHERE issue = ".$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="modify_data_three.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>Issue</td>
<td><input type="text" name="issue" value="<?php echo $result->issue ;?>"></td>
</tr>
<tr align="center">
<td>Lead Depot</td>
<td><input type="text" name="lead_depot" value="<?php echo $result->lead_depot ;?>"></td>
</tr>
<tr align="center">
<td>Lead Derby</td>
<td><input type="text" name="lead_derby" value="<?php echo $result->lead_derby ;?>"></td>
</tr>
<tr align="center">
<td>Status</td>
<td><input type="text" name="status" value="<?php echo $result->status ;?>"></td>
</tr>
<tr align="center">
<td>Action Deadline</td>
<td><input type="text" name="action_deadline" value="<?php echo $result->action_deadline ;?>"></td>
</tr>
<tr align="center">
<td>Last Update</td>
<td><input type="text" name="last_update" value="<?php echo$result->last_update ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin if
?>
</body>
</html>

voilà, je ne vois pas où est l'erreur. si quelqu'un qui s'y connait pouvait m'aider ça serait super sympa.

Merci d'avance à tous qui pourront m'aider.

50 réponses

Fitz Chivalry Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
Voici, le code, j'ai bien vérifier les noms des champs sont bien les mêmes que ceux de la base.

<?php
if(isset($_GET['idissue'])){
//On a demandé la modification
?>
<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( "bombardier" ) ;

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement modifier
$id = $_GET["idissue"] ;

//requête SQL:
$sql = "SELECT * FROM standing_issues WHERE issue = ' ".$id." ' " ;

//exécution de la requête:
$requete = mysql_query( $sql ) or die($sql . mysql_error());

//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{
?>
<form name="insert_modify_data" action="modif_data.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>Issue</td>
<td><input type="text" name="`issue`" value="<?php echo $result->issue ;?>"></td>
</tr>
<tr align="center">
<td>Lead Depot</td>
<td><input type="text" name="`lead_depot`" value="<?php echo $result->lead_depot ;?>"></td>
</tr>
<tr align="center">
<td>Lead Derby</td>
<td><input type="text" name="`lead_derby`" value="<?php echo $result->lead_derby ;?>"></td>
</tr>
<tr align="center">
<td>Status</td>
<td><input type="text" name="`status`" value="<?php echo $result->status ;?>"></td>
</tr>
<tr align="center">
<td>Action Deadline</td>
<td><input type="text" name="`action_deadline`" value="<?php echo $result->action_deadline ;?>"></td>
</tr>
<tr align="center">
<td>Last Update</td>
<td><input type="text" name="`last_update`" value="<?php echo $result->last_update ;?>"></td>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" value="modifier"></td>
</tr>
</table>
</form>
<?php
}//fin while
?>
</body>
</html>

<?php


mysql_close();
}else if(isset($_POST['id'])){
//On a rempli le formulaire




//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "bombardier" ) ;

//récupération des valeurs des champs:
$issue = $_POST["issue"] ;
$lead_depot = $_POST["lead_depot"] ;
$lead_derby = $_POST["lead_derby"] ;
$status = $_POST["status"] ;
$action_deadline = $_POST["action_deadline"] ;
$last_update = $_POST["last_update"] ;

//récupération de l'identifiant de la personne:
$id = $_POST["id"] ;

//création de la requête SQL:
$sql = "UPDATE standing_issues
SET (issue = ' ".$issue." ',
lead_depot = ' ".$lead_depot." ',
lead_derby = ' ".$lead_derby." ',
status = ' ".$status." ',
action_deadline = ' ".$action_deadline." '
last_update = ' ".$last_update." '
WHERE issue = ' ".$issue." ' ") ;

//exécution de la requête SQL:
$requete = mysql_query($sql ) or die( mysql_error() ) ;


//affichage des résultats, pour savoir si la modification a marchée:
if($requete)
{
echo("Modifications have been taken into account") ;
}

mysql_close();
else
{
echo("La modification à échouée") ;
}


mysql_close();


} else{

//On n'a rien demandé, on affiche les enregistrements





?>
<html>
<head>
<title>Modify Data - Page 1</title>
</head>
<body>
<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "bombardier" ) ;

//requête SQL:
$sql = "SELECT * FROM standing_issues ORDER BY issue" ;

//exécution de la requête:
$requete = mysql_query( $sql ) ;

//affichage des données:
while( $result = mysql_fetch_object( $requete ) )
{
echo "<div align=\"center\">".$result->issue." ".$result->lead_depot." ".$result->lead_derby." ".$result->status." ".$result->action_deadline." ".$result->last_update."
<a href=\"modif_data.php?idissue=".$result->issue."\">modify</a><br>\n" ;

}
?>
</body>
</html>
<?php
}//fin du if() global
?>
0
ilan27 Messages postés 394 Date d'inscription   Statut Membre Dernière intervention   36
 
Dans ton formulaire seulement je ne crois pas qu'il faille aussi mettre les `` pour les champs, c'est qu'en sql.
0
Fitz Chivalry Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
Non, ça ne change pas.

Bon tant pis, en plus je viens d'apprendre qu'un collègue à fais tout ça sur une bdd access mise dans un répertoire partagé en réseau local. Donc mon projet ne sert plus rien (un peu dég' !)

Bon c'est pas grave, demain je finis mon stage et je rentre en France.

Un grand Merci à tous ceux qui ont eu la patience et l'amabilité de m'aider (surtout ilan27 et sfel).
0
ilan27 Messages postés 394 Date d'inscription   Statut Membre Dernière intervention   36
 
Dommage, avec plus de temps on aurait pu résoudre. Mais bon l'important c'est que le travail soit fait, et que tu ais appris! ;-)
Alors bonne continuation!
0
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
ouaaa, vous avez taffer vous deux aujourd'hui ...

donc là, tout marche bien ??

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ilan27 Messages postés 394 Date d'inscription   Statut Membre Dernière intervention   36
 
Le problème n'a plus lieu, tout est rentré dans l'ordre, mais ce n'est pas résolu quand meme pour autant!.
A bientot!! :)
0
Fitz Chivalry Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
Merci à vous deux,
il y a une manip spéciale à faire pour clore une discussion ou on laisse ça comme ça ?

Encore merci.
0
sfel Messages postés 1640 Date d'inscription   Statut Membre Dernière intervention   430
 
tu mets juste le sujet comme résolu, et fc'es tbon.
0
bobinfo
 
tu peux me ideé
0
Fitz Chivalry Messages postés 38 Date d'inscription   Statut Membre Dernière intervention   10
 
Projet interrompu
0
fleurita.nana Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
svp expliquer moi cette ligne apartir <a...
echo "<div align=\"center\">".$result->issue." ".$result->lead_depot." ".$result->lead_derby." ".$result->status." ".$result->action_deadline." ".$result->last_update."
<a href=\"modification_donnees_2.php?idissue=".$result->issue."\">modify</a><br>\n" ;

?idissue -> je vais la remplacer par quoi dans ma table ???
.$result->issue. la meme question
0
Camuke Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   88
 
Le post est très ancien et je n'ai guère envie de lire les 3 pages de réponses mais je vais te traduire en francais le bout de code que tu a copiés:

//Pour chaque resultat de la requete SQL
while( $result = mysql_fetch_object( $requete ) )
{
//Affichage du champs issue lead_depot lead_derby ....etc......
echo "<div align=\"center\">".$result->issue." ".$result->lead_depot." ".$result->lead_derby." ".$result->status." ".$result->action_deadline." ".$result->last_update."

puis création d'un lien vers la page modif_data.php avec comme paramètre idissue qui prend la valeur du champs issue
<a href=\"modif_data.php?idissue=".$result->issue."\">modify</a><br>\n" ;
}

Voila
0