PHP problème Update

Fermé
FliP - 19 juin 2007 à 11:05
 Utilisateur anonyme - 20 juin 2007 à 09:29
Salut ! J'ai un petit problème en php/sql

Voila j'ai un tableau avec les jours de la semaine accompagné de différentes textbox, en dessous de ce tableau j'ai un bouton qui permet de valider. Je souhaite donc pouvoir écrire dans les texbox et en appuyant sur le bouton que ca modifie dans ma base. Voici mon code, merci d'avance pour votre aide

echo "<form name='envoie' action='modification.php' method='POST'>";
echo "<p><input type='submit' name='Modifier' value='Envoyer'></p>";
if ($_POST['Modifier']=="Envoyer")
{
$query1 = "(UPDATE tab_creation SET semaine='$mes_semaines', entree1='$text1', plat1='$text2', legume1='$text3', entree2='$text4', plat2='$text5', legume2='$text6', dessert='$text7', annee='$annee', datedebut='$date5', datefin='$date6', libelle='$libelle', jour='$jour6')";
$result1 = mysql_query($query1,$db);
$query2 = "(UPDATE tab_creation SET semaine='$mes_semaines', entree1='$text11', plat1='$text12', legume1='$text13', entree2='$text14', plat2='$text15', legume2='$text16', dessert='$text17', annee='$annee', datedebut='$date5', datefin='$date6', libelle='$libelle1', jour='$jour7')";
$result2 = mysql_query($query2,$db);
$query3 = "(UPDATE tab_creation SET semaine='$mes_semaines', entree1='$text21', plat1='$text22', legume1='$text23', entree2='$text24', plat2='$text25', legume2='$text26', dessert='$text27', annee='$annee', datedebut='$date5', datefin='$date6', libelle='$libelle2', jour='$jour2')";
$result3 = mysql_query($query3,$db);
$query4 = "(UPDATE tab_creation SET semaine='$mes_semaines', entree1='$text31', plat1='$text32', legume1='$text33', entree2='$text34', plat2='$text35', legume2='$text36', dessert='$text37', annee='$annee', datedebut='$date5', datefin='$date6', libelle='$libelle3', jour='$jour3')";
$result4 = mysql_query($query4,$db);
$query5 = "(UPDATE tab_creation SET semaine='$mes_semaines', entree1='$text41', plat1='$text42', legume1='$text43', entree2='$text44', plat2='$text45', legume2='$text46', dessert='$text47', annee='$annee', datedebut='$date5', datefin='$date6', libelle='$libelle4', jour='$jour4')";
$result5 = mysql_query($query5,$db);
echo "<br><br><center><span class='textebig'>Le menu a été validé.</span></center><br><br>";
}
echo "</form>";
A voir également:

22 réponses

Utilisateur anonyme
19 juin 2007 à 11:10
slt essai avec ça deja :


echo "<form name='envoie' action='modification.php?modif=0' method='POST'>";
echo "<p><input type='submit' name='Modifier' value='Envoyer'></p>";
if (isset($_GET['modif']) && $_GET['Modif']== 0)

...
...
0
Bizarrement ca ne change rien en faite la page refresh mais ca update pas dans la base...
0
Utilisateur anonyme
19 juin 2007 à 11:35
alors fait un echo de chaque $query

puis tu les copie colle une par une dans phpmyadmin pour voir qu'est-ce qui cloche :)

tu me dit quoi!
0
Heu j'ai pas bien piger ce que tu me demandes, j'ai rajouter $affiche mais ca me met une erreur sql (is not valid, je ne sais quoi^^) :

$query1 = "(UPDATE tab_creation SET semaine='$mes_semaines', entree1='$text1', plat1='$text2', legume1='$text3', entree2='$text4', plat2='$text5', legume2='$text6', dessert='$text7', annee='$annee', datedebut='$date5', datefin='$date6', libelle='$libelle', jour='$jour6')";
$result1 = mysql_query($query1,$db);
$affiche1 = mysql_fetch_array($result1);


J'ai pas bien compris ce que tu veux que je fasse avec les echo ?
0

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

Posez votre question
Utilisateur anonyme
19 juin 2007 à 12:15
tu fais echo $query1;

comme cela il va t'écrire la requete exact que tu envoi genre update ...mais avec les vrai valeur de tes variables ;)

ensuite tu copi colle le tout dans phpmyadmin (licone marquer sql en haut a gauche )

cela te permettra de voir ce que dit Phpmyadmin

et aussi :

vire tes parenthese -> : $query1 = "(UPDATE tab_creation SE ...
0
Si je met l'echo il me met ca :

UPDATE tab_creation SET semaine='', entree1='', plat1='', legume1='', entree2='', plat2='', legume2='', dessert='', annee='', datedebut='', datefin='', libelle='', jour=''

Donc ce que j'écrit ca ne se prend pas en compte, pourtant j'ai bien mes variables dans ma requete

$query1 = "UPDATE tab_creation SET semaine='$mes_semaines', entree1='$text1', plat1='$text2', legume1='$text3', entree2='$text4', plat2='$text5', legume2='$text6', dessert='$text7', annee='$annee', datedebut='$date5', datefin='$date6', libelle='$libelle', jour='$jour6'";
$result1 = mysql_query($query1,$db);
echo $query1;
0
Utilisateur anonyme
19 juin 2007 à 14:08
Alors c'est que tes variables doivent etre vide en tout cas tu sais deja pourquoi cela ne marche pas

essai echo"mes_semaine"; ...

pour voir si elle sont vraiment vide

sinoon c'est que tu tes planter quelque part ^^'

vérifie tes déclaration de variables!
0
Ok je vais essayer mais la j'ai un autre problème qui est survenue je ne sais pas ce qu'il ce passe. Merci beaucoup de ton aide je vais voir si j'arrive à corriger mon erreur :)
0
Utilisateur anonyme
19 juin 2007 à 14:27
hésite pas si tu as besoin ;)
0
Ouep^^

En faite quand je sélectionne mon menu dans ma liste ca m'affiche les détails dans les zones de texte normal mais après quand je modif le contenu des zones de texte et que je valide ca n'enregistre pas les modfis ca refresh toutes les cases à blanc. Ca doit etre la syntaxe de ma requete, mes varialbes qui ne vont pas parce qu'en faite c'est une page qui est deja recharger avant donc ca bug.

Un where peut corriger ca peut etre
0
Utilisateur anonyme
19 juin 2007 à 14:50
envoi ton code a la limite on vera mieu :)
0
Ma page entière ici ? Il y a 430 lignes...
0
Utilisateur anonyme
19 juin 2007 à 14:55
LOL
ben je c'est pas si c'est en ligne ou si tu peux la déposer quelque part sur un ftp que je regarde ^^ (jespere que ton code est commenter :)
0
Pas de ftp :(^^

$query1 = "UPDATE tab_creation SET semaine='$mes_semaines', entree1='$text1', plat1='$text2', legume1='$text3', entree2='$text4', plat2='$text5', legume2='$text6', dessert='$text7', annee='$annee', datedebut='$date5', datefin='$date6', libelle='$libelle', jour='$jour6' WHERE";

Dès que je met un where ca ne me vide pas tout mes champs ca les laissent tel quel sans prendre en compte la modif donc il doit y avoir un truc à mettre dans le where ?
0
Utilisateur anonyme
19 juin 2007 à 15:03
a ben oui


tu as forcement une condition ...


dans ta table tu a plussieur ligne qui utilisent ces champs...il faut donc que tu les distingue tu en modifie un pas plusieur? vois tu le probleme?


il faut que tu utilise la clé primaire de ta table--> dans ton where :

where id='1' par exemple enfin ça c'est dynamique cela depend de ce que tu veux modifier....
0
Utilisateur anonyme
19 juin 2007 à 15:04
tiens lis cet article...

http://www.phpdebutant.org/article64.php
0
Oui je vois mais mon id_creation s'autoincrement donc je peut pas mettre id_creation=1, ect car dans les semaines suivantes ce ne sera pas forcement ca ?
0
Utilisateur anonyme
19 juin 2007 à 16:01
non mais je ne sait pas exactement a quoi sert ton scritp mais imaginon que je veuille entreé des utilisateur avec un id autoincrémenter...

id - nom - prenom
---------------------------
id1 - nom1 - prenom1
id2 - nom2 - prenom2

quand j'affiche les information je fais un lien par exemple

je récupere tous les nom et je les affiche avec quelque chose comme

$res=-->ta requete (SELECT ......)
foreach ($res as $ro){

echo"<a href="update.php?id=".ro['id']."">lien pour mettre a jour : ".ro['nom']."</a>";
}


quand tu vas arriver a la page update $_GET['id'] contiendra l'identifiant de ce que tu veut modifier....

dans ta requete update tu pourra donc mettre where id=$_GET['id']

j'espere que tu as compris si tu as d'autre question pas de souci!!
0
J'ai pas tout compris...

Demain es tu dispo ? Comme ca on fait ca sur msn car la je comprend pas tous...
0
Utilisateur anonyme
19 juin 2007 à 16:24
ouai si tu veux mp moi ton adresse email
0