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

Langage PHP Discussion :

[PHP-JS] incrémenter un compteur en cliquant sur un bouton


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 74
    Par défaut [PHP-JS] incrémenter un compteur en cliquant sur un bouton
    Je veux incrimenter le $i à chque fois que je clicque sur le bouton j'ai fait le code suivant :
    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
    <?php
    mysql_connect("localhost", "username", "password"); // Connexion à MySQL
    mysql_select_db("base"); // Sélection de la base
    $i=1;
    //incrémenter le $i
    function incrim()
    {
    $i=$i++;
    return($i);
    }
    $reponse = mysql_query("SELECT nom_lat FROM latinne where id_nom_lat=$i") or die(mysql_error());
    while ($donnees = mysql_fetch_array($reponse) )
    {
    $resultat = $donnees['nom_lat'];
    }
    mysql_close(); 
    ?>
    nom :<input type="texte" name="nom" value="<? echo($resultat); ?>" >
    <p><input type=submit value="Action" onClick="return incrim()">
    le problème c'est que le $i ne s'incrémente pas.

    De l'aide SVP

  2. #2
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Salut,

    $i ne s'incrémente pas car on ne peut pas appeler une fonction PHP comme ça(il me semble bien) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onClick="return incrim()">
    C'est valable pour le javascript.

    Transforme cette même fonction en Javascript(avec les balises et tout) puis ensuite tu dois pouvoir inclure du PHP dans le javascript pour l'affecter à une variable pour l'utiliser dans ta requête.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 74
    Par défaut
    le problème c'est que je connait rien au javascript, ya pas une possibilité de modifier mon code à ce qu'il deviens fonctionnel en php?

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 74
    Par défaut
    J'ai essai de faire ça :

    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
    <SCRIPT LANGUAGE="JavaScript"> 
    var i=1;
    function incrim()
    {
    i++;
    return i;
    }
    </SCRIPT>
    <?php
    mysql_connect("localhost", "username", "password"); // Connexion à MySQL
    mysql_select_db("base"); // Sélection de la base
     
    $reponse = mysql_query("SELECT nom_lat FROM latinne where id_nom_lat='return incrim()'") or die(mysql_error());
    while ($donnees = mysql_fetch_array($reponse) )
    {
    $resultat = $donnees['nom_lat'];
    }
    mysql_close(); 
    ?>
    nom :<input type="texte" name="nom" value="<? echo($resultat); ?>" >
    <p><input type=submit value="Action" onClick="return incrim()">

  5. #5
    Membre chevronné Avatar de makmaoui
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 283
    Par défaut
    Bonjour,

    il est impossible d'appeller une fonction php (qui est interprété côté serveur) depuis javascript (qui est interprété côté client) de la façon dont tu le fait. une possibilité serait d'utiliser ajax mais je n'en vois pas l'utilité dans ton cas, je te propose le code suivant : à chaque clique sur le bouton le formulaire est soumis avec la méthode GET (passage des variables dans l'URL) et ta variable est incrementée :

    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
    <?php
    mysql_connect("localhost", "username", "password"); // Connexion à MySQL
    mysql_select_db("base"); // Sélection de la base
     
    if(!isset($_GET['i']))
    	$i=1;
     
     
    $reponse = mysql_query("SELECT nom_lat FROM latinne where id_nom_lat=$i") or die(mysql_error());
    while ($donnees = mysql_fetch_array($reponse) )
    {
    $resultat = $donnees['nom_lat'];
    }
    mysql_close(); 
    ?>
    <form action="#" method="get">
    nom :<input type="texte" name="nom" value="<? echo($resultat); ?>" >
     
    <input type="hidden" name="i" value="<?php echo $i + 1; ?>">
    <p><input type=submit value="Action">
     
    </form>

  6. #6
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Salut,

    Faut peut être enlever le :

    Sinon $i va toujours valoir 1 dans ta requête

  7. #7
    Membre chevronné Avatar de makmaoui
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2007
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2007
    Messages : 283
    Par défaut
    C'est une condition dans la cas où la variable i n'existe pas (que l'utilisateur arrive la première fois sur la page)

  8. #8
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Ah oui désolé, j'avais pas vu le !

  9. #9
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 74
    Par défaut
    Merci pour votre réponse.
    J'ai essai votre code mais sa ne marche pas. En fait l'incrémentation du $i que je fait en cliquant sur le bouton à pour but d'incrémenter le l'identifiant de ma table.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reponse = mysql_query("SELECT nom_lat FROM latinne where id_nom_lat=$i") or die(mysql_error());
    Merci pour votre patience

  10. #10
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Re,

    à pour but d'incrémenter le l'identifiant de ma table.
    Dans ce cas, pour modifier les contenus des tables... il faut utiliser une requête INSERT ou UPDATE.

  11. #11
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 74
    Par défaut
    Merci à vous
    Mais ce que je veux fair c'est pas changer le contenue de ma table, l'identifiant de ma table est déja autoincrément, ce que je veux c'est afficher le contenue de ma table une à une sucsessivement c'est pourquoi je veux utiliser l'incrémentation de $i pour dire à la raquet d'afficher les noms contenus dans ma table quand l'identifiant de la table=$i et $i aura comme valeur 1 et puis 2 et puis 3.... jusqu'à la fin de ma table.

    Je chreche depuis deux jours et j'ai pas encore trouvé de solution.Si qu'equ'un peut m'aider encore

  12. #12
    Membre Expert
    Avatar de ArHacKnIdE
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 947
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 947
    Par défaut
    Le code de makmaoui réalise ce que tu veux faire, pour afficher un nouvel enregistrement à chaque nouveau clic...

    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
    <?php
    mysql_connect("localhost", "username", "password"); // Connexion à MySQL
    mysql_select_db("base"); // Sélection de la base
     
    if(!isset($_GET['i']))
    	$i=1;
     
     
    $reponse = mysql_query("SELECT nom_lat FROM latinne where id_nom_lat=$i") or die(mysql_error());
    while ($donnees = mysql_fetch_array($reponse) )
    {
    $resultat = $donnees['nom_lat'];
    }
    mysql_close(); 
    ?>
    <form action="#" method="get">
    nom :<input type="texte" name="nom" value="<? echo($resultat); ?>" >
     
    <input type="hidden" name="i" value="<?php echo $i + 1; ?>">
    <p><input type=submit value="Action">
     
    </form>

  13. #13
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 74
    Par défaut
    Effictivement c'été l'initialisation du $i qui fait se problème j'ai enlever l'initialisation et tous vas bien.

    Merci à vous tous merci beuacoup

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

Discussions similaires

  1. [PHP-JS] ajouter des champ en cliquant sur un bouton?
    Par einsteineuzzz dans le forum Langage
    Réponses: 3
    Dernier message: 29/06/2006, 17h36
  2. PHP + lier fichier wav en cliquant sur un bouton
    Par ushiwa.sasuke dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/02/2006, 08h12
  3. placer un texte dans une textarea en cliquant sur un bouton
    Par BernardT dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/11/2005, 17h17
  4. Réponses: 4
    Dernier message: 14/11/2005, 15h58
  5. Réponses: 5
    Dernier message: 18/10/2005, 20h55

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