Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 31/07/2007, 09h33   #1
Invité régulier
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 8
Points : 8
Envoyer un message via MSN à wonga
Par défaut [SQL] Ajout de données et Mise à jour d'une table

Bonjour,
Je suis sous wampserver avec Mysql5 et php5. Mes scripts d'ajout de données dans la table ne marche pas.Je veux dire par là qu'il n'y a aucune modification (rien ne passe )même pas d'erreur.je vous montre mes codes.
le script de connexion à la base
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?php
#define("Nom", "root");
#define("pass","");
#define("serveur","localhost");
#define("base","gestionconferences");
 
 
$hostname_dbprotect = "localhost";
$username_dbprotect = "root";
$password_dbprotect = "";
$database_dbprotect = "gestionconferences";
 
$connect=mysql_connect($hostname_dbprotect,$username_dbprotect,$password_dbprotect) or die("Impossible de se connecter a la base");
if (!$connect){echo "impposible de se connecter à la base: .mysql_error()";}
$select=mysql_select_db($database_dbprotect) or die("erreur de connexions a la base de donnees");
if (!$select){echo "impposible de séletionner  la base: .mysql_error()";}
 
?>
la page de modif
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
 
<!--Modifier une conférence-->
 
<html><head> <!--link rel=stylesheet href="conf.css" type="text/css"--></head>
<table class='A0'>
<tr><td class='A1'><td class='A2'><font class='A4'></font></tr>
</table>
<table class='A0'>
<tr><td class='A3'></tr>
</table>
 
<body>
<?php
require("connect1.php");
 
$IdConf=$_GET['IdConf'];
	$modifConf=mysql_query("select * from conference where IdConf=$IdConf") or die("Probleme requete select * from conference: " . mysql_error());
	$selectIdUniv=mysql_query("select * from universite");
$conf=mysql_fetch_object($modifConf);
echo"<table  border=0 >";
echo"<form action='modif_Conf.php'   method=POST>";
echo"<tr> <td width=15%>Intitule<td><textarea cols=80 rows=4 name='intitule'>$conf->Intitule</textarea></tr><br>";
echo"<tr> <td >dateSoumission<td><input type='text' name='dateSoumission' value='$conf->DateSoumission'></tr>";
echo"<tr> <td >dateAcceptation<br><td><input type='text' value='$conf->DateAcceptation' name='dateAcceptation'></tr>";
echo"<tr> <td >dateFin<td><input type='text' name='dateFin' value='$conf->DateFin'><td></tr>";
echo"<tr> <td >droitInsc<td><input type='text' name='droitInsc' value='$conf->DroitInsc'></tr>";
echo"<tr> <td >NbArtMax<td><input type='text' value='$conf->NbArtMax' name='nbArtMax'></tr>";
echo"<tr> <td >NomUniv<td><select name='IdUniv'>";
while($selIdUniv=mysql_fetch_object($selectIdUniv)){
				echo"<option value=$selIdUniv->IdUniv>$selIdUniv->NomUniv</option>";
}
			echo" </select></tr>";
 
echo"</table>";
echo"<input type='submit' value='Envoyer' name='envoyer'><input type=reset value='Réinitialiser' name='reinitialiser'>";
echo"<input type='hidden' name=IdConf value ='$IdConf'>";
echo"</form>";
 
 
?>
</body>
</html>
le script de modif
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
 
<?php
require("connect1.php");
 
$IdConf=$_POST["IdConf"];
$intitule=$_POST["intitule"];
$dateSoumission=$_POST["dateSoumission"];
$dateAcceptation=$_POST["dateAcceptation"];
$dateFin=$_POST["dateFin"];
$droitInc=$_POST["droitInsc"];
$nombreArtMax=$_POST["nombreArtMax"];
$envoyer=$_POST['envoyer'];
 
if ($_POST['$envoyer']){
 
$requete="UPDATE conference";
$requete.="SET Intitule='$intitule',DateSoumission='$dateSoumission',DateAccepation='$dateAcceptation',SET DateFin='$dateFin',SET DroitInsc ='$droitInsc',SET NbArtMax='$nombreArtMax' "; 
$requete.="WHERE IdConf=$IdConf";
 
$modif=mysql_query($requete) or die("Probleme requete : " . mysql_error());
echo $dateFin;
echo $dateSoumission;
echo $dateAcceptation;
 
echo $droitInsc;
echo $nombreArtMax;
}
?>
 
 
<?php echo $intitule;
 
?>
<script language="javascript" type="text/javascript">
	<!--
	window.location.replace("espaceModifConf.php");
	-->
</script>
voilà je ne sais pas pourquoi rien ne se passe.
merci d'avance de vos réponses
wonga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 09h40   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
ton if a une erreur de frappe en fait:
Code :
if ($_POST['$envoyer']){
c'est plutot
Code :
if ($_POST['envoyer']){
ou
du coup il ne passe jamais dans le if!

Penses a mettre un else pour les cas d'erreurs et à utiliser isset() et empty()
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 10h15   #3
Invité régulier
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 8
Points : 8
Envoyer un message via MSN à wonga
Ah oui, c'est vrai. c'est le risque avec des copier-coller.Merci
Mais je ne suis pas au bout de mes peines. je suis en train de voir pourquoi cette erreur de syntaxe
Citation:
you have an error in your SQL syntaxe, check manuel that correspond to your mysql server version for right syntaxe to use use near '=international conferenc ......' at line 1
voici le nouveau code
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
 
<?php
require("connect1.php");
 
$IdConf=$_POST["IdConf"];
$intitule=$_POST["intitule"];
$dateSoumission=$_POST["dateSoumission"];
$dateAcceptation=$_POST["dateAcceptation"];
$dateFin=$_POST["dateFin"];
$droitInc=$_POST["droitInsc"];
$nombreArtMax=$_POST["nombreArtMax"];
$envoyer=$_POST['envoyer'];
 
if (isset($_POST['envoyer'])({
 
$requete="UPDATE conference";
$requete.="SET Intitule=$intitule,DateSoumission=$dateSoumission,DateAccepation=$dateAcceptation, DateFin=$dateFin, DroitInsc =$droitInsc,NbArtMax='$nombreArtMax' "; 
$requete.="WHERE IdConf=$IdConf";
 
$modif=mysql_query($requete) or die("Probleme requete : " . mysql_error());
 
}
?>
 
 
 
<script language="javascript" type="text/javascript">
	<!--
	window.location.replace("espaceModifConf.php");
	-->
</script>
wonga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 10h24   #4
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Bonjour
Sauf erreur de ma part, il faut des quotes autour des valeurs dans une requête update.
Code :
1
2
3
$requete="UPDATE conference ";
$requete.=" SET Intitule='$intitule', DateSoumission='$dateSoumission', DateAccepation='$dateAcceptation', DateFin='$dateFin', DroitInsc ='$droitInsc', NbArtMax='$nombreArtMax' "; 
$requete.=" WHERE IdConf=$IdConf"
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 12h42   #5
Invité régulier
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 8
Points : 8
Envoyer un message via MSN à wonga
j'avais déjà essayé avec les quotes sans succès.ensuite je les ai enlevés, et toujours rien. je viens de les remettre et toujours pareil
wonga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 13h24   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
Citation:
Envoyé par wonga
j'avais déjà essayé avec les quotes sans succès.ensuite je les ai enlevés, et toujours rien. je viens de les remettre et toujours pareil
Redonnes ton code avec les quote, affiche la requete correspondante ainsi que le message d'erreur, on va bien finir par trouver !
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 13h32   #7
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
a premiere vu il manque un espace entre le nom de la table et le 'SET' :

Code :
1
2
$requete="UPDATE conference";
$requete.="SET Intitule=$intitule,
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 13h35   #8
Membre Expert
 
Avatar de jbrasselet
 
Homme Julien Brasselet
Ingénieur développement logiciels
Inscription : mars 2006
Messages : 952
Détails du profil
Informations personnelles :
Nom : Homme Julien Brasselet
Âge : 32
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2006
Messages : 952
Points : 1 382
Points : 1 382
Envoyer un message via MSN à jbrasselet
Fais un echo de ta requête pour voir à quoi elle ressemble.
Tu verras tout de suite l'erreur!

Mais je pense en effet qu'il s'agit de l'espace susmentionné et des quotes pour les valeurs texte et date
__________________
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai.
jbrasselet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 14h13   #9
Invité régulier
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 8
Points : 8
Envoyer un message via MSN à wonga
Merci à tous. effectivement avec un echo de ma requête je vois que le nom de la table"conference" est coller à la fonction "SET". ne sachant pas comment ajouter l'espace apres le nom de la table je pense ecrire la requête en une seule ligne.
En attendant voici les codes
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
 
<!--Modifier une conférence-->
 
<html><head> <!--link rel=stylesheet href="conf.css" type="text/css"--></head>
<table class='A0'>
<tr><td class='A1'><td class='A2'><font class='A4'></font></tr>
</table>
<table class='A0'>
<tr><td class='A3'></tr>
</table>
 
<body>
<?php
require("connect1.php");
 
$IdConf=$_GET['IdConf'];
	$modifConf=mysql_query("select * from conference where IdConf=$IdConf") or die("Probleme requete select * from conference: " . mysql_error());
	$selectIdUniv=mysql_query("select IdUniv from universite WHERE IdUniv=(select IdUniv from conference where IdConf=$IdConf)") or die("Probleme requete universite: " . mysql_error());
 
 
$conf=mysql_fetch_object($modifConf);
echo"<table  border=0 >";
echo"<form action='modif_Conf.php'   method=POST>";
echo"<tr> <td width=15%>Intitule<td><textarea cols=80 rows=4 name='intitule'>$conf->Intitule</textarea></tr><br>";
echo"<tr> <td >dateSoumission<td><input type='text' name='dateSoumission' value='$conf->DateSoumission'></tr>";
echo"<tr> <td >dateAcceptation<br><td><input type='text' value='$conf->DateAcceptation' name='dateAcceptation'></tr>";
echo"<tr> <td >dateFin<td><input type='text' name='dateFin' value='$conf->DateFin'><td></tr>";
echo"<tr> <td >droitInsc<td><input type='text' name='droitInsc' value='$conf->DroitInsc'></tr>";
 
echo"<tr> <td >NbArtMax<td><input type='text' value='$conf->NbArtMax' name='nbArtMax'></tr>";
echo"<tr> <td >IdUniv<td><select  name='idUniv'>";
 
if(empty($selectIdUniv)){echo"resultat de la requete ne contient aucun élément";}
 
else{
	$IdUniv=mysql_fetch_object($selectIdUniv);
		echo"<option value='IdUniv' name='idUniv'>$IdUniv->IdUniv</option>";
}
			echo" </select></tr>";
 
echo"</table>";
echo"<input type='submit' value='Envoyer' name='envoyer'><input type=reset value='Réinitialiser' name='reinitialiser'>";
echo"<input type='hidden' name=IdConf value ='$IdConf'>";
echo"</form>";
 
 
?>
</body>
</html>
et le script qui fait l'action de modifier
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
 
<?php
require("connect1.php");
 
$IdConf=$_POST["IdConf"];
$intitule=$_POST["intitule"];
$dateSoumission=$_POST["dateSoumission"];
$dateAcceptation=$_POST["dateAcceptation"];
$dateFin=$_POST["dateFin"];
$droitInc=$_POST["droitInsc"];
$nombreArtMax=$_POST["nbArtMax"];
$envoyer=$_POST['envoyer'];
$IdUniv=$_POST["idUniv"];
 
if (isset($_POST['envoyer'])){
#$selectIdUniv=mysql_query("select IdUniv from universite,conference WHERE IdConf=$IdConf");
if(empty($IdUniv)){echo"le champ IdUniv est vide";}
else{
#$IdUniv=mysql_fetch_object($selectIdUniv);
 
$requete="UPDATE conference" ;
$requete.="SET Intitule=$intitule, DateSoumission=$dateSoumission, DateAcceptation=$dateAcceptation, DateFin=$dateFin, DroitInsc=$droitInsc, NbArtMax=$nombreArtMax,IdUniv=$IdUniv;"; 
$requete.="WHERE IdConf=$IdConf";
echo"$requete";
$modif=mysql_query($requete) or die("Probleme requete : " . mysql_error());
}
}
?>
 
 
 
<script language="javascript" type="text/javascript">
	<!--
	window.location.replace("espaceModifConf.php");
	-->
</script>
wonga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 14h15   #10
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
c tout simple , au lieu de
Code :
1
2
 
$requete="UPDATE conference" ;
ecris :

Code :
$requete="UPDATE conference " ;
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 14h29   #11
Invité régulier
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 8
Points : 8
Envoyer un message via MSN à wonga
ok l'espace est mis. j'ai fait quelques corrections (nom de variables).Il y avait aussi un ppoint virgule en trop à la fin de ma requete. Maintenant il n' ya plus de message d'erreur mais la mise à jour n'est pas effectuée. je ne comprends pas
wonga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 14h33   #12
Membre Expert
 
Avatar de jbrasselet
 
Homme Julien Brasselet
Ingénieur développement logiciels
Inscription : mars 2006
Messages : 952
Détails du profil
Informations personnelles :
Nom : Homme Julien Brasselet
Âge : 32
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2006
Messages : 952
Points : 1 382
Points : 1 382
Envoyer un message via MSN à jbrasselet
Tu as un ; après ton $IdUniv qui ne sert à rien
Vérifie aussi ce que te ramènes ta requête qui va chercher ton $IdUniv

Executes ta requête dans phpMyAdmin voir si elle fonctionne correctement déjà
__________________
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai.
jbrasselet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 15h15   #13
Invité régulier
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 8
Points : 8
Envoyer un message via MSN à wonga
la requête marche correctement sous phpMyAdmin. j'ai recopié la requête sous phpMyAdmin que j'ai collé dans mon script en donnant des valeurs à mes champs, la mise à jour est effectuée. je pense donc que le problème vient des variables, je vasi revoir de près.
wonga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 16h01   #14
Invité régulier
 
Inscription : avril 2006
Messages : 55
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 55
Points : 8
Points : 8
Envoyer un message via MSN à wonga
j'ai reussi enfin.Merci à tous. Il y avait comme je disais un problème avec les champ IdUniv et Idconf. En fait IdUniv est clé étrangère dans la table "conférence" par conséquent je n'avait pas à la mettre à jour dans la table "conference". IdUniv fait référence à la table "université" c'ets donc là qu'il faut mettre à jour le ce champ.
encore merci
wonga 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 08h19.


 
 
 
 
Partenaires

Hébergement Web