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 :

IF et variable


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Points : 5
    Points
    5
    Par défaut IF et variable
    bonjour,

    Voici un bout de mon code ou je bloque depuis plusieurs jours :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if($test > 100){
    		echo "Super: ".$test."<br>";
    }
     
    header('Refresh: 5;URL=prix.php');

    Donc si la valeur de $test est supérieur à 100, j'affiche le mot "Super". Ok ça fonctionne mais ce que je souhaiterai faire c'est afficher le mot "Super" une seule fois tant que la variable $test est supérieur à 100 (edit) et non pas à chaque fois. Mais comme j'actualise la page toutes les 5 secondes et bien ça ne fonctionne pas.
    J'ai essayé avec While mais je ne peux pas dépasser 30 secondes car j'appel une API et j'ai donc un message d'erreur.

    Je suis un vrai débutant donc si quelqu'un peut m'aiguiller sur ma problématique ça serai vraiment sympa.
    Merci

  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
    Par quoi est défini la valeur de $test ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Points : 5
    Points
    5
    Par défaut
    slt sabotage,
    $test va appeler une fonction qui elle même va chercher une valeur dans mon API.

    Je sais pas si j'ai bien saisi la question, ça te convient?

  4. #4
    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
    Pourquoi ça ne marcherait pas alors avec le rafraichissement ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Points : 5
    Points
    5
    Par défaut
    Le code fait afficher "super" toutes les 5 secondes, ce que je souhaiterai c'est faire afficher "super" une seule fois tant que $test > 100 et non pas à chaque fois.

  6. #6
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par berty4242 Voir le message
    une seule fois tant que $test > 100
    votre condition n'est pas claire, la situation ne peux pas se passer un seule fois et en même temps pendant une certaine durée.
    montrez nous un exemple plus détaillé de ce que vous souhaitez obtenir.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Points : 5
    Points
    5
    Par défaut
    Effectivement c'est peut être pour cela que je butte depuis plusieurs jours...
    Donc avec plus de détails, dès que $test > 100 j'appel une fonction qui exécute un ordre vers mon api, le problème c'est que tant que $test > 100 et avec un refresh de 5 secondes je vais me retrouver avec x ordres, alors qu'il m'en faut qu'un seul.

  8. #8
    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
    "une seule fois" ne peut pas aller avec "tant que".

    Si ton API donne toujours une valeur supérieur à 100, on a bien "super" qui doit s'affiche tout le temps non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par sabotage Voir le message
    "une seule fois" ne peut pas aller avec "tant que".

    Si ton API donne toujours une valeur supérieur à 100, on a bien "super" qui doit s'affiche tout le temps non ?
    Je suis d'accord avec toi, comme j'ai indiqué plus haut, mon "super" exécute un ordre et je voudrais l'exécuter qu'une seule fois. Si que je remplace "tant que" par "dès que" est ce que je peux coder quelques choses?

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Points : 5
    Points
    5
    Par défaut
    Du coup en PHP existe t'il une notion "dès que"?

  11. #11
    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
    Il suffit de ne pas relancer la page quand l'objectif est atteint
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if($test > 100){
         // appel de ta fonction
    }
    else {
         header('Refresh: 5;URL=prix.php');
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Points : 5
    Points
    5
    Par défaut
    Merci.
    Oui mais si $test descend sous la valeur 100 puis repasse au dessus de 100 la fonction ne sera plus appelée, c'est statique?

  13. #13
    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
    Ca n'était pas précisé dans la demande

    Tu peux utiliser une session alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    session_start();
    if($test > 100) {
        if ($_SESSION['up'] === FALSE)) {
             // appel de ta fonction
             $_SESSION['up'] = TRUE;
        }
    }
    else {
        $_SESSION['up'] = FALSE;
    }
    header('Refresh: 5;URL=prix.php');
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Ingénieur après-vente
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur après-vente

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Points : 5
    Points
    5
    Par défaut
    Oui dsl j avais pas tout précisé.
    Je testerai demain.
    Donc si je résume ce code avec session : dès que $test > 100 mon ordre passe (une seule fois) si $test <100 rien ne se passe et si a nouveau $test > 100 mon ordre passe à nouveau c'est ça?
    Encore merci et désolé je suis novice...

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/07/2002, 13h32
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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