IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Modifier un formulaire avec checkbox


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 63
    Points
    63
    Par défaut Modifier un formulaire avec checkbox
    Bonjour à tous,

    J'ai une page php avec des checkbox et des valeurs que l'utilisateur a entré et peut ici corriger (c'est son poids en kgs pour faire une courbe avec jpgraph) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    echo "<font>Cochez la case de la ligne à modifier puis entrez votre nouveau poids et cliquez sur \"Mettre à jour\" ou \"Supprimer\". <br>Vous pouvez cocher plusieurs cases.</font><br><br>";
    echo "<form method=\"POST\" action=\"/modules/poids/update.php\">";
    echo "<table class=\"row1\" width=\"80%\">";
    echo "<tr>";
    echo "<td align=\"right\" width=\"20%\">Choix</td>";
    echo "<td width=\"30%\">Poids</td>";
    echo "<td width=\"30%\">Date</td>";
    echo "</tr>";
     
     
    $query="SELECT * FROM poids where user_id = $user_id order by date ASC" ;
    $result = mysql_query( $query )or exit ('Erreur SQL !'.$query.'<br>'.mysql_error());
    while($data = mysql_fetch_array($result))
    {
     
    echo"<tr><td align=\"right\"><input type=\"checkbox\" name=\"check[]\" value=\"".$data['id']."\"></td>";
    echo"<td><input type=\"text\" size=\"5\" name=\"sonpoids[]\" value=\"".$data['poids']."\"></td>";
    echo"<td>".$data['date']."</td>";
    echo"</tr>";
    }
    echo "<tr><td colspan=\"3\"><div align=\"center\"><input type=\"submit\" name=\"envoyer\" value=\"Modifier\"> ou <input type=\"submit\" name=\"envoyer\" value=\"Supprimer\"></div></td></tr>";
    echo "</table>";
    echo "</form>";
    et la page suivante update.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    if( $_POST['envoyer'] == 'Modifier') 
    { 
     
     
    if(isset($_POST['check']))
    	{ 
        foreach($_POST['check'] as $key => $value) { 
     
            $sql="UPDATE poids SET poids=".$_POST['sonpoids'][$key]." WHERE id=".$value.""; 
            $req= mysql_query($sql)or die(mysql_error()); 
     
    echo "<script language='Javascript'>"; 
            echo "<!--\n"; 
            echo "alert(\"Mise à jour effectuée\");\n"; 
            echo "// -->"; 
    echo "</script>\n"; 
     
    echo "<br><br><a class=\"rose\" href=\"/modules.php?name=poids\">Retour à la courbe</a>";
     
     
            } 
        }
     
    }
    elseif( $_POST['envoyer'] == 'Supprimer') 
    { 
    if(isset($_POST['check']))
    	{ 
        foreach($_POST['check'] as $key => $value) { 
     
            $sql="DELETE FROM poids WHERE id=".$value.""; 
            $req= mysql_query($sql)or die(mysql_error()); 
     
    echo "<script language='Javascript'>"; 
            echo "<!--\n"; 
            echo "alert(\"Mise à jour effectuée\");\n"; 
            echo "// -->"; 
    echo "</script>\n"; 
     
     
    echo "<br><br><a class=\"rose\" href=\"/modules.php?name=poids\">Retour à la courbe</a>";
     
     
            } 
        }
    }
    Apparemment, la fonction suppression marche trés bien mais pas la modification.
    J'ai essayé plein de modifs sans résultat

    Voyez vous des améliorations ? Pourriez vous m'aider ?

    Merci beaucoup pour votre aide précieuse

  2. #2
    Membre habitué Avatar de Pahcixam
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 289
    Points : 191
    Points
    191
    Par défaut
    Salut

    Est-ce que php ou mysql te retourne une erreur ? Si oui peux-tu la poster ?

    As-tu vérifié tes variables que tu passes dans ta requêtes ? Sont-elles pleines ?

  3. #3
    Membre du Club
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Points : 63
    Points
    63
    Par défaut rempli
    Je n'ai pas de message d'erreur, mais quand je veux modifier une valeure, il me met toujours une ancienne valeur, et je ne sais pas d'ou il le sort ?

Discussions similaires

  1. Afficher un champ de formulaire avec checkbox
    Par rvm31 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/11/2012, 13h48
  2. Problème d'envoi formulaire avec checkboxes
    Par neospirit dans le forum Langage
    Réponses: 3
    Dernier message: 19/04/2011, 11h14
  3. problème formulaire avec checkbox
    Par toinou62 dans le forum Langage
    Réponses: 1
    Dernier message: 30/09/2007, 14h07
  4. Timeout sur POST formulaire avec checkbox
    Par shyangel dans le forum Langage
    Réponses: 16
    Dernier message: 11/05/2006, 12h59
  5. Pb validation formulaire avec checkbox
    Par wolfe dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/12/2005, 08h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo