Modifier des données mysql via php

Fermé
Fitz Chivalry Messages postés 38 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 29 septembre 2007 - 21 sept. 2007 à 10:41
 ima - 2 mai 2012 à 15:11
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.
A voir également:

50 réponses

Fitz Chivalry Messages postés 38 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 29 septembre 2007 10
26 sept. 2007 à 16:02
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 mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
26 sept. 2007 à 17:01
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 vendredi 21 septembre 2007 Statut Membre Dernière intervention 29 septembre 2007 10
26 sept. 2007 à 17:25
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 mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
26 sept. 2007 à 17:32
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 lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
26 sept. 2007 à 18:53
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 mardi 25 septembre 2007 Statut Membre Dernière intervention 15 juin 2009 36
26 sept. 2007 à 19:17
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 vendredi 21 septembre 2007 Statut Membre Dernière intervention 29 septembre 2007 10
27 sept. 2007 à 08:56
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 lundi 18 juin 2007 Statut Membre Dernière intervention 15 juillet 2009 430
27 sept. 2007 à 20:00
tu mets juste le sujet comme résolu, et fc'es tbon.
0
tu peux me ideé
0
Fitz Chivalry Messages postés 38 Date d'inscription vendredi 21 septembre 2007 Statut Membre Dernière intervention 29 septembre 2007 10
29 sept. 2007 à 21:54
Projet interrompu
0
fleurita.nana Messages postés 3 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 10 février 2010
1 févr. 2010 à 12:51
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 lundi 7 mai 2007 Statut Membre Dernière intervention 12 août 2011 88
1 févr. 2010 à 13:20
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