Rajouter une condition en PHP

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Rajouter une condition en PHP

    Bonjour,

    Une question de PHP que je n'arrive pas à résoudre (n'étant pas spécialiste) :

    Dans un composant d'elearning, le score s'affiche pour les leçons, sauf quand il s'agit d'un feedback.
    Je voudrais que le score ne s'affiche pas non plus quand la leçon est une vidéo.
    Le format de la leçon peut être (entre autre) : "feedback" ou "video".

    voici le code :
    <?php if (!($m_lesson->format == 'feedback')) : ?>
    <span class="hidden-xs"><b><?php echo JText::_("COM_TJLMS_TOC_HEAD_SCORE");?></b>
    &nbsp;<?php echo $m_lesson->score; ?>
    </span>
    <?php endif; ?>
    J'ai esayé plusieurs choses pour remplacer cette fichue ligne :
    <?php if (!($m_lesson->format == 'feedback')) : ?>
    La dernière :

    <?php if (!($m_lesson->format == 'feedback' or 'video')) : ?>
    et aussi :

    <?php if (!($m_lesson->format == 'feedback') or !($m_lesson->format == 'video')) : ?>
    Mais cela ne donne rien.

    Un peu d'aide, svp ?
    Merci à l'avance.
    Dernière édition par marie13600 à 26/03/2019, 20h59

  • #2
    Bonjour


    " if (!($m_lesson->format == 'feedback' or 'video')) " est une tentative désespérée puisque c'est, syntaxiquement, incorrect. Cela ne pourra jamais fonctionner

    Si tu veux plusieurs conditions, perso, j'aime utiliser in_array() et du coup, voici une proposition :

    Code PHP:
     if (!in_array(trim($m_lesson->format), array('feedback''video'))) : 
    J'utilise un tableau avec deux (ou plus) de valeurs et si le format n'est pas une des valeurs mentionnées, alors il passera dans ton if.
    woluweb aime ceci.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Merci pour ta réponse et ta solution.
      Je ne sais pas pourquoi, cela ne fonctionnait pas.
      J'ai finalement pris le problème dans l'autre sens et mis une condition positive :

      <?php if ($m_lesson->format == 'quiz') : ?>
      Merci pour le temps passé à me lire !

      Commentaire


      • #4
        Cette ligne là devrait marcher
        Code PHP:
        <?php if (!($m_lesson->format == 'feedback') and !($m_lesson->format == 'video')) : ?>
        Juste un and à la place du or.
        Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
        Confucius

        Commentaire


        • #5
          Super, ça marche ! Merci.

          Commentaire


          • #6
            Si le problème est réglé merci de l'indiquer.
            Pour cela voir l'encadré ci-dessous.
            Lorsque l'on se cogne la tête contre un pot et que cela sonne creux, ça n'est pas forcément le pot qui est vide.
            Confucius

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X