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 :

PHP ET SQL bouton + pour incrémenter la quantité d'un ingrédient spécifique


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut PHP ET SQL bouton + pour incrémenter la quantité d'un ingrédient spécifique
    Bonjour,

    je suis en train de réaliser un exercice pour lequel je dois créer un bouton +, qui incrémente la valeur de mon ingrédient

    Sauf que lorsque je clique sur mon bouton +, l’incrémentation par exemple de mon ingrédient salade, au premier clique ne se fait pas ( c'est l’ingrédient précédemment incrémenté de 1 qui augmente à nouveau de 1), et au deuxième clique sur cette même ligne salade, là l'incrémentation à lieu
    je ne sais pas comment régler ce problème
    Je souhaite qu'au 1er clique, l'incrémentation de l'ingrédient s'effectue.

    Je vous mets en dessous mon code

    Merci de m'aiguiller si ovus voyez une erreur

    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
     
    <?php
    $reponse = $bdd->query('SELECT Ingredient.Nom, Ingredient.Quantite, Ingredient.ID FROM Ingredient');
     
    while ($donnees = $reponse->fetch())
    {
     
    	echo '<tr><td>'.$donnees['Nom'] .'</td><td>'. $donnees['Quantite'] .'</td><td>'. '<form method="post" action="index.php">
       <input type="hidden" name="identif" value="'. $donnees['ID'] . '">
       <input type="submit" name="plus" value="+" />
      </form> ';
    }
    // essaie incrémentation au clique du bouton +  fonctionne partiellment,
    // nécessite deux cliques sur la même ligne, au premier clique l'ingrédient précedent qui a été incrémenté, s'incrémente)
    ?>
    </table>
    <?php if(isset($_POST['identif']))
            {
        $id_ing = $_POST['identif'];
     $bdd->query("UPDATE Ingredient SET Quantite = Quantite+1 WHERE  Ingredient.ID=" . $id_ing); 
    } 
    $reponse->closeCursor();
    ?>

  2. #2
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 228
    Par défaut
    Bonjour,
    Oui logique c'est tout a l'envers !!
    Code PHP : 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
    <?php
    $id_ing = (isset($_POST['identif'])) ? secur($_POST['identif']) : '';
    if($id_ing!="")
     {    
       $bdd->query("UPDATE Ingredient SET Quantite = Quantite+1 WHERE  Ingredient.ID=" . $id_ing); 
     }
     
    $reponse = $bdd->query('SELECT Ingredient.Nom, Ingredient.Quantite, Ingredient.ID FROM Ingredient');
     
    while ($donnees = $reponse->fetch())
    {
     
    	echo '<tr><td>'.$donnees['Nom'] .'</td><td>'. $donnees['Quantite'] .'</td><td>'. '<form method="post" action="index.php">
       <input type="hidden" name="identif" value="'. $donnees['ID'] . '">
       <input type="submit" name="plus" value="+" />
      </form> ';
    }
    echo '</table>';
    $reponse->closeCursor();
    ?>

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut
    Tout d'abord merci pour votre réponse si rapide
    J'ai mis à jour mon code grâce au votre
    Mais plus rien ne s'affiche

  4. #4
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 228
    Par défaut
    Citation Envoyé par Mathild2 Voir le message
    Tout d'abord merci pour votre réponse si rapide
    J'ai mis à jour mon code grâce au votre
    Mais plus rien ne s'affiche
    Mais dis moi c'est de l'Ajax ?? donnes moi le code total du PHP

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Reprends ton 1er code, et inverse simplement :
    - le traitement d'abord
    - l'affichage ensuite

    @JP
    D'où sors-tu ta fonction secur() ??

  6. #6
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut
    Citation Envoyé par JPongivart Voir le message
    c'est de l'Ajax ?

    Bonjour, ce n'est pas de l'Ajax, php avec du sql et html

  7. #7
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Reprends ton 1er code, et inverse ...
    D'accord merci, je vais essayer de suite

  8. #8
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2020
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 25
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2020
    Messages : 5
    Par défaut
    Merci à vous d'eux d'être penché sur mon exercice
    Il est maintenant résolu

  9. #9
    Membre très actif
    Avatar de JPBruneau
    Homme Profil pro
    retraité
    Inscrit en
    Août 2019
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2019
    Messages : 228
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,

    Reprends ton 1er code, et inverse simplement :
    - le traitement d'abord
    - l'affichage ensuite

    @JP
    D'où sors-tu ta fonction secur() ??
    Arhhh.... autant pour moi, je l'ai toujours avec moi, j'aurais du virer ça il est chargé chez moi dans l'include de mon login SQL ...
    alors voila le php de mes login sql...

    Code PHP : 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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <?php
    $b=$_SERVER['SERVER_NAME'];
     
    if ( $b=="www.xxxxxxxxxxxxx.com")
     {
      try  
       {
          $bdd = new PDO('mysql:host=localhost;dbname=XXXXXXXXXXX', 'BDDDDDDDDD', 'azerty');
          $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
          $bdd->exec("SET CHARACTER SET utf8");
          $localoui="SITE";
        /* voir EXEPTION mieux que WARNING  http://php.net/manual/fr/pdo.error-handling.php */
         }
      catch(Exception $e)
       {
        die('Erreur : '.$e->getMessage());
       }
     }
     else   
      {
       try
        {
         $bdd = new PDO('mysql:host=127.0.0.1;dbname=jplyne', 'root', '');
         $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
         $bdd->exec("SET CHARACTER SET utf8");
     
        }
       catch(Exception $e)
        {
         die('Erreur : '.$e->getMessage());
        }
      }
    function secur($a) 
    	{
      $a=str_replace("<","",$a);
      $a=str_replace(">","",$a);
      $a=str_replace("&&","",$a);
      $a=str_replace("||","",$a);
      $a=str_replace("’","' ",$a);
      $a=str_replace("\\","",$a);
      $a=str_replace("/","",$a);
      $a=str_replace("  "," ",$a);
      $a=str_replace(" AND ","",$a);
      $a=str_replace(" and ","",$a);
      $a=str_replace(" OR ","",$a);
      $a=str_replace(" or ","",$a);
      $a=str_replace("Œ","OE",$a);
      $a=str_replace("œ","oe",$a);
      $a=str_replace(" \0","",$a);
      $a=str_replace("\0","",$a);
      $a=str_replace("\n\n","\n",$a);
      $a=str_replace("\r","",$a);
      $a=str_replace("''","'",$a);
      return $a;
    }
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. PHP -- PL/SQL -- ORACLE
    Par Torando59 dans le forum PL/SQL
    Réponses: 4
    Dernier message: 23/01/2006, 12h28
  2. [PHP-JS] contrôler en php si un bouton est "activé"
    Par allowen dans le forum Langage
    Réponses: 7
    Dernier message: 12/01/2006, 15h57
  3. SQL de plus de 255 caractères dans un recordset
    Par acama dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 05/01/2006, 15h50
  4. [PHP-JS] case avec plus et moins a coté
    Par budiste dans le forum Langage
    Réponses: 13
    Dernier message: 29/11/2005, 14h09
  5. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07

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