Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Débuter
Débuter Forum d'entraide pour débuter avec MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/08/2007, 16h10   #1
Invité de passage
 
Inscription : juin 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 7
Points : 2
Points : 2
Par défaut Pb d'update pour un débutant

Bonjour à tous, ..;

Voilà j'ai décidé de me lancer dans la grande aventure des bases de données en autodidacte disons...
Courageux le garçon !

Donc voilà pour m'exercer aux bases je me monte en perso chez moi un serveur ou j'héberge mon site et mes pages.
Easy php d'installé, je monte la base tout ça etc...

mon projet test : un video club.

Mon problème étant le suivant : je souhaite modifier une fiche de film

Je clique sur modifier, cela m'envoit sur la page modif_fiche.php en récupérant dans les champs les valeurs de ma fiche. (Method GET utilisée)

je modifie mes champs

quand je clique sur ok une autre page merci.php me résume les valeurs que je viens de rentrer. mais voilà l'update ne se fait pas dans la base de donnée...

ci dessous le code de la page merci.php
Après avoir fait des recherches sur ce site, effectuer des tests, je n'arrive pas à trouver...
Merci de votre aide .

Code :
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
   
<?
if (isset($_GET['id']) AND isset($_GET['titre']) AND isset($_GET['num_support']))
	{
	mysql_connect ("localhost", "root", "");
	mysql_select_db ("film");
	$titre = $_GET['titre'];
	$num_support = $_GET['num_support'];
	$id = $_GET['id'];
	$req = "UPDATE fiche
                       SET titre='$titre', num_support='$num_support'
	 WHERE id='$id' ";
	mysql_query($req);
	mysql_close();
	}
				
?>

 
<form id="form1" name="form1" method="post" action="">
<table width="401" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="74"><div align="left">Titre : </div></td>
    <td colspan="2"><? echo $_GET['titre']; ?></td>
  </tr>
  <tr>
    <td height="34">Genre : </td>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td height="41">Support : </td>
    <td colspan="2"><? echo $_GET['num_support']; ?></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td width="327"><div align="center">Les donn&eacute;es ont bien &eacute;t&eacute; enregistr&eacute;es</div></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>
      <div align="center"> <a href="liste.php">Retour Liste</a> </div></td>
  </tr>
</table>
 </form>
fbpdt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/08/2007, 17h00   #2
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Salut,

Utilise un mysql_error() sur ton query.

Code php :
mysql_query($req) or die('Erreur<br>' . mysql_error() . '<br>Sql :<br>' . $req);
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 08h39   #3
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Essaye d'écrire ta requette avec la syntaxe suivante :
[CODE]
$req = 'UPDATE fiche SET titre=
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 09h40   #4
Invité de passage
 
Inscription : juin 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 7
Points : 2
Points : 2
J'ai rajouté le mysql_error() et essayer de changer la syntaxe, rien n'y fait, il ne prend pas en compte l'update ..
fbpdt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 09h53   #5
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Essaye d'afficher ta requette à l'écran avec un echo et execute la directement dans easyPHP !
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 12h07   #6
Invité de passage
 
Inscription : juin 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 7
Points : 2
Points : 2
que veux tu dire ?
tu me donner un exemple de syntaxe stp
fbpdt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 12h42   #7
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Est-ce que tu entres bien dans ta condition au moins ?
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 12h47   #8
Invité de passage
 
Inscription : juin 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 7
Points : 2
Points : 2
et bien je pense que oui.... je suis en train de chercher encore ce qui ne pourrait pas aller ... actuellement c'est comme ça :

Code :
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
 
IF (isset($_POST['id']) AND isset($_POST['titre']) AND isset($_POST['num_support']))
	{
	mysql_connect ("localhost", "root", "");
	mysql_select_db ("film");
	$titre = $_POST['titre'];
	$num_support = $_POST['num_support'];
	$id = $_POST['id'];
	$req = mysql_query("UPDATE fiche
	SET titre='".$titre."', num_support='".num_support."'
	 WHERE id='".id."' ");
 
?>
 
<table>
.....<td colspan="2"><? echo $titre; ?></td> ...
....
.....<td colspan="2"><? echo $num_support; ?></td>....
....
</table>
 
<?
mysql_query($req);
mysql_close();
}
?>

Et ce qui est curieux, c'est que lorsque le mysql_close(); est en dessous du tableau, plus rien n'apparait à l'écran..
fbpdt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 12h50   #9
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
C'est une méthode get ou post dans ton formulaire ?

On peut le voir ?
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 12h52   #10
Invité de passage
 
Inscription : juin 2006
Messages : 7
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 7
Points : 2
Points : 2
C'est une méthode post, j'avais mis avant la GET : voici le formulaire :

Code :
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
 
<?
	IF (isset($_GET['id']) AND isset($_GET['titre']) AND isset($_GET['num_support']))
	{
	mysql_connect("localhost", "root", "");
	mysql_select_db("film");
	$titre = $_GET['titre'];
	$num_support = $_GET['num_support'];
 
?>
 
<table>
.....
<form action="merci.php" method="POST" name="" id="">
<br />
<TABLE width="401" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr>
            <td width="76"><div align="left">Titre : </div></td>
            <td colspan="2"><input name="titre" type="text" id="titre" size="50" maxlength="50" 
			value="<? echo $titre; ?>"/></td>
            </tr>
          <tr>
            <td height="34">Genre : </td>
            <td colspan="2">&nbsp;</td>
            </tr>
          <tr>
            <td height="41">Support : </td>
            <td colspan="2"><input name="num_support" type="text" id="num_support" size="3" 
			value="<? echo $num_support; ?>"/></td>
            </tr>
          <tr>
            <td>&nbsp;</td>
            <td colspan="2">&nbsp;</td>
            </tr>
          <tr>
            <td>&nbsp;</td>
            <td width="123"><div align="center">
              <input type="submit" name="Submit" value="OK" />
            </div></td>
            <td width="202"><div align="center">
              <input type="reset" name="Submit2" value="Cancel" />
            </div></td>
          </tr>
        </table>
		</form>
.....
</table>
 
<?
mysql_close();
}
?>
fbpdt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2007, 13h00   #11
Membre expérimenté
 
Inscription : septembre 2006
Messages : 685
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 685
Points : 564
Points : 564
Oui, donc tu n'entres pas dans ta condition puisque $_POST['id'] n'existe pas.

Si tu pouvais mettre ton code entre balises [ code ], ce serait sympa
Xunil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h31.


 
 
 
 
Partenaires

Hébergement Web