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 en ajoutant


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Mars 2013
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 70
    Points : 40
    Points
    40
    Par défaut Modifier en ajoutant
    j'ai un véritable soucis.

    je voudrais modifier tous les enregistrements d'un champ nombre en ajoutant 20 sur chaque nombre.

    mais quand je le fais, la modification du dernier enregistrement affecte tous les autres enregistrements.

    exemple:

    supposons le premier enregistrement a le nombre 15 et le second le nombre 10.

    je voudrais ajouter 20 sur chaque enregistrement en utilisant php.

    le resultat que je veux obtenir devrait etre pour le premier enregitrement 35 et pour le second 30.

    malheureusement c'est 30 qui s'enregistre dans toutes le tables .

    voici mon code:



    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
    <?php
      include("configo.php");
      //récupération des valeurs des champs:
      //prenom:
      $gloire= mysql_real_escape_string(htmlspecialchars(trim(stripcslashes($_POST["gloire"]))));
     $nom= mysql_real_escape_string(htmlspecialchars(trim(stripcslashes($_POST["nom"]))));
      $code= mysql_real_escape_string(htmlspecialchars(trim(stripcslashes($_POST["code"]))));
    //création de la requête SQL:
      $sql = "UPDATE salle
              SET 
    	      compte     = '$gloire'
               WHERE code = '$code' " ;
      //exécution de la requête SQL:
      $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
      //affichage des résultats, pour savoir si la modification a marchée:
      if($requete)
      {
        echo("La modification a &eacute;t&eacute; correctement effectu&eacute;e") ;
      }
      else
      {
        echo("La modification a échou&eacute;e") ;
      }
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $gloire= mysql_real_escape_string(htmlspecialchars(trim(stripcslashes($_POST["gloire"]))));
    Ca fait longtemps que je n'avais pas vu un truc aussi affreux.

    Bref ou est la notion de "+20" dans le code que tu nous montres ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 099
    Points : 4 444
    Points
    4 444
    Par défaut
    bonjour

    pour un incrément:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    ... SET compte=compte+20 ...
    $moi= ( !== ) ? : ;

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2013
    Messages
    200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2013
    Messages : 200
    Points : 102
    Points
    102
    Par défaut
    J'ai un peu de mal à lier tes explications à ton code.
    "je voudrais modifier tous les enregistrements d'un champ nombre en ajoutant 20 sur chaque nombre." => sous-entend un parcours (du moins c'est ma compréhension)

    alors que dans ton code la modif. affecte une seule ligne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "UPDATE salle SET compte = '$gloire'  WHERE code = '$code' " ;
    Si ta modif affecte tous les enregistrement alors je te conseillerai de faire un parcours de ta table et ajouter +20 à tous les nombres d'un champ.
    Pourquoi ne pas faire et faire +20 à toutes les valeurs de ton champ.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET compte=compte+20 ...

Discussions similaires

  1. Modifier wireshark - ajout d'une fenêtre
    Par raimais dans le forum Développement
    Réponses: 2
    Dernier message: 09/09/2009, 11h47
  2. Réponses: 1
    Dernier message: 31/10/2008, 00h20
  3. Modifier l'ajout de commentaires
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 7
    Dernier message: 28/10/2008, 16h14
  4. comment modifier supprimer ajouter en se basant sur le focus
    Par mora092 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 09/11/2007, 11h23
  5. [swing] modifier l'ajout d'objet dans un JTable
    Par Invité dans le forum Composants
    Réponses: 2
    Dernier message: 17/05/2006, 13h02

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