La communauté ALL HTML c'est 58828 membres à ce jour dont 1 inscrits aujourd'hui et 30 depuis une semaine.

  • imprimer
  • aide

Forum de discussions « PHP - SQL »

Retrouvez les publications relatives à ces discussions dans nos rubriques PHP, SQL.

Attribuer une class en fonction d'un résultat

liste des forums liste des discussions Participer à la discussion

Photo de kitten75 Message publié le jeudi 25 septembre 2008 à 16 h 33 par kitten75. Cordialement
Bonjour,

J'ai besoin de vos lumières, j'essaie d'attribuer une class à une cellule en fonction de son resultat récuperer avec la variable {if $ad.SPECIAL}{/if}

qui attribue la class exemple

.exemple{ background: #E6CCFF; }

En gros si l'annonce et une annonce premium (annonce avec option payante) alors elle est surligner en violet. http://kitten13.dyndns.org/index.php

J'arrive a faire ce que je veu pour certaine cellule saut pour le titre/description et l'image. :cry:

En fait il me remplace la classe pointer comment faire pour lui attribuer la class d'origine ou sinon celle d'origine plus surligner ?

en gros voici ce que j'ai fait :

<table cellspacing="0" class="box2" style="clear:both;"> {foreach item=ad from=$ads} <tr onmouseout='this.className="alt";' onmouseover='this.className="class1";'> <!-- ********************* ici probleme je n'arrive pas *********************************** --> <td>{$ad.IMAGEYESNO}</td> <td class="pointer"><a href="{$ad.LINK}" title="{$ad.TITLE|escape}">{$ad.TITLE|truncate:35:"...":true}</a><a href="{$ad.LINK}" style="text-decoration:none; color: #000; font: 13px verdana, sans-serif;" class="description">{$ad.DESCRIPTION|truncate:200:"...":true}</a></td> <!-- ********************* fin *********************************** --> <!-- ********************* ici c'est bon ca fonctionne *********************************** --> {if $ad.SPECIAL}<td class="exemple"><a href="{$ad.LINK}" style="text-decoration:none; color: #000; font: 13px verdana, sans-serif; display: block; font-weight:bold;">{if $e.islink}{/if}{$ad.e_2.value|commify:2}&nbsp;&nbsp;Eur</a></td>{/if} {foreach item=extraval from=$ad.EXTRA_VALUES} {if $ad.SPECIAL}<td class="exemple">{$extraval|truncate:20:"...":true} </td>{/if}{/foreach} {if $ad.SPECIAL}<td class="exemple"><a href="{$ad.LINK}" style="text-decoration:none; color: #000; font: 13px verdana, sans-serif; display: block;">{$ad.REGDATE}</a></td>{/if} <!-- ********************* fin *********************************** --> </tr> {/foreach} </table>

mon ccs :

.box2 { margin: 5px 0px; border-top: 5px solid #eeeeee; background: #fff; } .box2 td { padding: 5px 0px !important; border-bottom: 1px solid #E5E5EA; } .box2 td.category { background: url("../layout_images/new/folder.gif") 14px 9px no-repeat; padding-left: 36px !important; } .box2 tr.alt td.category { background: #e7ebf0 url("../layout_images/new/folder.gif") 14px 9px no-repeat; padding-left: 36px !important; } .box2 th { height: 23px; padding: 5px 14px !important; padding: 2px 14px; white-space: nowrap; text-align: left; vertical-align: middle; color:#848484; font-size:11px; font-weight:bold; padding:5px 3px 3px; } .box2 th a { color:#848484; font-size:11px; font-weight:bold; padding:5px 3px 3px; } .box2 th a:hover { text-decoration: underline; } .box2 td a, #content a { text-decoration: underline; display: block; } .box2 td a strong { font-size: 110%; } .box2 td a:hover, .box td a:hover strong, #content a:hover { display: block; } .box2 tr.alt { background: #fff; } .box2 td.pointer { background: 14px 10px no-repeat; padding-left: 0px !important; border-bottom: 1px solid #E5E5EA; } .box2 tr.alt td.pointer { background: #fff 14px 10px no-repeat; padding-left: 0px !important; border-bottom: 1px solid #E5E5EA; } .exemple{ background: #E6CCFF; }
Photo de mdr Message publié le jeudi 25 septembre 2008 à 18 h 02 par mdr.
tu ne pourras lui attribuer une classe ou alors le cumul de deux classes
c'est soit l'une soit l'autre
<?php if ($ad == 'valeur annonce premium') $class = 'maClasse1'; else $class = 'maClasse2'; // ou aussi avec opérateur ternaire $class = ($ad == 'valeur annonce premium') ? 'maClasse1' : 'maClasse2'; echo '<td class="'.$class.'">...</td>'; // .... // .... ?>
Photo de telnes Message publié le jeudi 25 septembre 2008 à 18 h 04 par telnes. toujours revenir au debut - http://telnesmaster.free.fr/allhtml/index2.html - http://telnesmaster.free.fr/litetemplate - http://www.hotcontest.org
tu utilise smarty ?
Photo de kitten75 Message publié le jeudi 25 septembre 2008 à 18 h 20 par kitten75. Cordialement
Oui smarty telnes

avez vous une solution autre alors ?
Photo de kitten75 Message publié le jeudi 25 septembre 2008 à 18 h 27 par kitten75. Cordialement
<?php if ($ad == 'valeur annonce premium') $class = 'maClasse1'; else $class = 'maClasse2'; // ou aussi avec opérateur ternaire $class = ($ad == 'valeur annonce premium') ? 'maClasse1' : 'maClasse2'; echo '<td class="'.$class.'">...</td>'; // .... // .... ?>


je comprends pas comment mettre œuvre ton explication mdr


j'avais oublier de mentionner que j'utilise smarty le code est donc dans un fichier .tpl
Photo de kitten75 Message publié le jeudi 25 septembre 2008 à 20 h 10 par kitten75. Cordialement
j'ai trouver mon erreur je mets un exemple pour les autres

en faite il faut utiliser les conditions
{if $ad.SPECIAL} <---- si le resultat correspond alors on affiche <td class="exemple">{mon_image}</td> <---- ceci {else} <---- ou sinon on affiche <td>{mon_image}</td> <---- ceci {/if}

je laisse le soins à quelqu'un d'expliquer la méthode car je suis pas bon prof

sinon lire ce tutoriel sur smarty il ma beaucoup aider

http://php.developpez.com/faq/?page=smarty#smarty-conditions

liste des forums liste des discussions Participer à la discussion

Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.

ACCÉS COMMUNAUTÉ

Rejoignez ALL HTML

Publiez vos articles, actualités, communiqués ... Donnez votre avis, partagez votre réseau, rencontrez d'autres membres et participez à la vie de la communauté.

Les 5 dernières discussions