PHP problème Update

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>";
Configuration: Windows XP
Internet Explorer 6.0

22 réponses

  1. pas besoin lol j'ai tes messages!!!
    0
    1. ouai si tu veux mp moi ton adresse email
      0
      1. J'ai pas tout compris...

        Demain es tu dispo ? Comme ca on fait ca sur msn car la je comprend pas tous...
        0
        1. 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
          1. 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
            1. 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
              1. 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
                1. 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
                  1. Ma page entière ici ? Il y a 430 lignes...
                    0
                    1. envoi ton code a la limite on vera mieu :)
                      0
                      1. 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
                        1. hésite pas si tu as besoin ;)
                          0
                          1. 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
                            1. 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
                              1. 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
                                1. 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
                                  1. 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
                                    1. 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
                                      • 1
                                      • 2