[PHP] Cacher code html si colonne vide [Réglé]
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
1
Code PHP :
echo '<a href".$articles_article->episode1.">Voir la video</a> <a href".$articles_article->episode2.">Voir la video</a><a href".$articles_article->episode3.">Voir la video</a>';
Par exemple si la colonne "episode3" est vide, je voudrait caché html
1
Code PHP :
<a href".$articles_article->episode3.">Voir la video</a><br><br>
Merci pour votre aide
ElenWii Membre non connecté
-
Administrateur
- Voir le profil du membre ElenWii
- Inscrit le : 14/08/2009
- Site internet
- Groupes :
-
Equipe Graphique
Code TPL :
# IF tacolonneestvide # ton code # ENDIF #
Tu es sur quel module ?
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
En fait ça n'a aucun rapport avec PHPBoost, c'est pour cela que je l'ai posté dans Discussion Général, c'est du PHP, mais j'ai pas très bien compris comment résoudre mon problème, c'est pour ça que j'ai posté ici
ElenWii Membre non connecté
-
Administrateur
- Voir le profil du membre ElenWii
- Inscrit le : 14/08/2009
- Site internet
- Groupes :
-
Equipe Graphique
Dans ton cas, je suppose que la condition est !empty($articles_article->episode1) (a vérifier)
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Code PHP :
$i = 1; while ($i<=2) { if (empty($episode'.$i.')) { //il n'y a rien dedans donc on affiche rien } else { On affiche le code html avec le lien de la vidéo } $i++; }
ElenWii Membre non connecté
-
Administrateur
- Voir le profil du membre ElenWii
- Inscrit le : 14/08/2009
- Site internet
- Groupes :
-
Equipe Graphique

Après j'ai un doute, sur le empty. est-ce qu'il prend en compte le "", le NULL etc...
Le mieux c'est d'essayer et de voir le résultat
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :

if (empty($episode'.$i.')) <= Le $1 sert normalement à attribué un numéro à l'épisode, genre episode1, episode2, episode3, episode4, puisque les variables se nomme episode1,2,3,4 ... mais ça fonctionne pas :/
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Code PHP :
if (empty ($articles_article->episode1)) { // Personne n'a rempli le champ de l'épisode 1, alors on affiche rien du tout } else{ echo 'On affiche episode 1'; } echo '</div>';
Ce code ci-dessus fonctionne correctement, mais je vais pas copier/coller 40 fois ce même code pour 40 épisodes, mais j'arrive pas à faire la boucle :/ si quelqu'un à une idée
Édité par Myster Le 18/10/2014 à 11h53
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
en théorie ce code fonctionne :
Code PHP :
$i = 1; while ($i<=2) { if (empty($episode'.$i.')) { //il n'y a rien dedans donc on affiche rien } else { On affiche le code html avec le lien de la vidéo } $i++; }
MAIS il ne fera que 1tour à cause de la condition (<=2) qui dit inférieur ou égal à 2 sachant que la variable est initialisé à 1.
Ensuite où est l'objet de ce code :
Code PHP :
if (empty ($articles_article->episode1)) { // Personne n'a rempli le champ de l'épisode 1, alors on affiche rien du tout } else{ echo 'On affiche episode 1'; } echo '</div>';
Car si je dit pas de conneries $articles_article est un objet et avec "->" tu lui demande la méthode "episode1", donc ou est déclaré ta class ??
Cordialement, janus57
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Sûrement dans le code, aucune idée
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
Myster :
Hello,
Sûrement dans le code, aucune idée
Sûrement dans le code, aucune idée
Bonjour,
si toi même tu ne sais pas d'où sort ce code, comment pourrait-on t'aider alors ???
Le plus simple serait de mettre toutes les sources, ou si tu utilise un framework ou CMS regarder dans la doc.
Cordialement, janus57
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :

Code PHP :
if (empty ($series_serie->episode1)) { //Personne n'a rempli le champ donc on n'affiche rien puisqu'il n'y a aucun valeur dans la BDD. } else{ //Quelqu'un a rempli le champ donc on affiche la valeur avec la variable aqéquate. echo ' <li><a href="'.$series_serie->episode1.'" target="blank">Épisode 01</a></li> '; }
Édité par Myster Le 19/10/2014 à 09h53
janus57 Membre non connecté
-
Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
-
Equipe Assistance
et tu va t'amuser à recopier ce code 40fois si tu as 40épisodes ???
Si oui c'est idiot et contre productif surtout que tu utilise de la POO.
Le plus simple et plus logique serait de faire un code comme ceci :
Code PHP :
$numero_episode = 1; $nombre_episodes = 40; while ($numero_episode <= $nombre_episodes) { if (!empty($series_serie->episode($numero_episode))) { // Ce n'est pas vide donc on rempli le lien avec celui de l'épisode echo ' <li><a href="'.$series_serie->episode($numero_episode).'" target="blank">Épisode 01</a></li> '; } else { // c'est vide } $numero_episode++; }
Mais pour cela il faudra fouiller dans la class pour que episode($numero_episode) fonctionne.
Normalement ce code fonctionne à 100% (pas testé), et aussi est beaucoup mieux et plus logique que de faire 40 if/else avec 40 appel de méthode (sachant que logiquement tu aurais fait ->episode1, ->episode2, ->episode3 etc...).
Sinon si tu as vraiment envie de te casser la tête à utiliser 40 méthode sur ton objet y a ce code :
Code PHP :
$numero_episode = 1; $nombre_episodes = 40; while ($numero_episode <= $nombre_episodes) { if (!empty($series_serie->episode'.$numero_episode.')) { // Ce n'est pas vide donc on rempli le lien avec celui de l'épisode echo ' <li><a href=" '.$series_serie->episode.$numero_episode.' " target="blank">Épisode 01</a></li> '; } else { // c'est vide } $numero_episode++; }
Là encore ce code doit fonctionne normalement (pas testé non plus), mais est beaucoup moins logique que le code précédent.
Cordialement, janus57
Myster Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Je voudrait faire une condition, par exemple
Si auteur = TrucBidule
Affichage du formulaire
Sinon
Vous n'êtes pas l'auteur
ElenWii Membre non connecté
-
Administrateur
- Voir le profil du membre ElenWii
- Inscrit le : 14/08/2009
- Site internet
- Groupes :
-
Equipe Graphique
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie