Mammouth du PHP |
1609 Messages
27 févr. 2020, 13:14
Salut, c'est quoi ce message, il dit quoi ? est-il vraiment indispensable ?
EDIT je demande parce que le message me semble assez déterminant pour savoir comment faire.
A priori si je voulais une liste de médecins filtrés par département bah je ferais en sorte que medSearch ne contienne que les médecins du département (un select avec un where et du coup pas de if dans le for).
Et si je voulais faire une alerte unique pour dire que certains médecins ne font pas parti de ce département, ben je ferais une autre requête pour compter ces médecins et si le compte est supérieur à 0 j'afficherais le message.
Après pour répondre à la question basiquement sans réfléchir au pourquoi, c'est pas très compliqué. Tu crées une variable showMessage à false avant la boucle, dans la boucle si ça passe dans le else tu passes showMessage à true et après la boucle si showMessage est true tu affiches le message.
Code : Tout sélectionner
{% set showMessage = false %}
{% for med in medSearch %}
{% if med.departement.num == departement %}
{{ med.nom }}
{{ med.prenom }} --
{{ med.adresse }}
{% else %}
{% set showMessage = true %}
{% endif %}
{% endfor %}
{{ showMessage ? message }}
Après je trouve pas ça très joli, si y a 50 médecins dans la liste qui ne sont pas du département, tu mets 50 fois showMessage à true... et du coup ça me fait penser à ça, un elseif au lieu d'un else :
Code : Tout sélectionner
{% set showMessage = false %}
{% for med in medSearch %}
{% if med.departement.num == departement %}
{{ med.nom }}
{{ med.prenom }} --
{{ med.adresse }}
{% elseif not showMessage %}
{% set showMessage = true %}
{% endif %}
{% endfor %}
{{ showMessage ? message }}
Ça change pas grand chose mais au moins ça ne re-set pas la variable à true 50 fois (mais ça teste sa valeur 50 fois ^^).
PS : et par pitié essayez de bien indenter votre code ^^ c'est pas pour faire jolie qu'on indente, c'est pour que le code soit lisible. Y a même des langages genre python ou si t'indentes pas bien ça compile pas ou si ça compile par miracle ça fait pas du tout ce que tu voulais.
Développeur web depuis + de 20 ans