2014-06-05 37 views
0

该行NOT DINE WITH我想输出红色,请问如何做到这一点?回声一个mysql查询结果中的颜色为红色

<?php 
$res22 = mysql_query($query22); 
while ($row22 = mysql_fetch_array($res22, MYSQL_ASSOC)) 
{ 
?><OPTION VALUE="<?php 
echo $row22['member_id'];?>"> 
<?php echo $row22['full_name']; ?> 

<font color=#ff0000> 
<?php if ($row22['ndw'] == "yes") 
echo " *-* NOT DINE WITH *-*"; ?></font> - 

<?php echo $row22['member_id']; ?> 
<?php if ($row22['joined_online'] == "yes") 
echo " *JOL* "; ?> 
<?php if ($row22['email']== '') 
echo " *NOEM*"; 
?> 
<?php echo " Invites "; ?> 
<?php echo $row22['invited']; ?> 
<?php echo " Attended "; ?> 
<?php echo $row22['attended']; ?> 
</option><?php 
} 
?> 
+0

请更新您的完整代码 –

+2

字体标记已弃用。我建议使用CSS。 – Ryan

+0

首先,将'NOT DINE WITH'文本放在一个范围内,并使用CSS来更改它,标记已被弃用 – Aravona

回答

3

尝试

echo "<span style='color:ff0000;'> *-* NOT DINE WITH *-*<span>"; 
+0

谢谢,但是没有去。作为最后的手段,在发布这个问题之前,我已经尝试了很多方法,但方式正确。 – newphper

+0

然后检查你是否有权如果($ row22 ['ndw'] ==“是”) –

+0

它显示为黑色,逻辑工作正常,如果这是你的意思 – newphper

0

这里有一个解决方案,我写了你,这将需要一些JavaScript来选择合适的选项。我假设你使用表单从数据库中选择人员?

<?php 

$res22 = mysql_query($query22); 

echo "<ul>"; 

while ($row22 = mysql_fetch_array($res22, MYSQL_ASSOC)) 
{ 
    $member_id = $row22['member_id']; 
    $full_name = $row22['full_name']; 
    $ndw = $row22['ndw']; 
    $joined_online = $row22['joined_online']; 
    $email = $row22['email']; 
    $invited = $row22['invited']; 
    $attended = $row22['attended']; 

    $class = $ndw == "yes" ? 'class="ndw"' : ''; 

    echo '<li ' . $class . ' id="' . $member_id . '">'; 
    echo "{$full_name} - "; 
    echo $ndw == "yes" ? "<span>*-* NOT DINE WITH *-*</span> " : ""; 
    echo "{$member_id} - "; 
    echo $joined_online == "yes" ? "*JOL* " : ""; 
    echo empty($email) ? "*NOEM* " : ""; 
    echo "Invites: {$invited}, "; 
    echo "Attended: {$attended}"; 
    echo '</li>'; 
} 

echo "</ul>"; 

?> 

这里有一个小提琴我放在一起,显示它会怎么看,和工作:http://jsfiddle.net/d4r6V/。它使用jQuery。你必须做很多修改才能使它在表单等中工作,但希望它能帮助你开始。

+0

谢谢Kacey,非常感谢。现在是午夜,明天我会看看。 – newphper

0

根据HTML 4.1和5.1规范,不允许在选项标签中包含任何标签。

<!ELEMENT OPTION - O (#PCDATA)   -- selectable choice --> 

http://www.w3.org/TR/html401/interact/forms.html#edef-OPTION

Content model: 
If the element has a label attribute and a value attribute: Empty. 
If the element has a label attribute but no value attribute: Text. 
If the element has no label attribute: Text that is not inter-element whitespace. 

http://www.w3.org/html/wg/drafts/html/master/embedded-content.html#the-option-element

font标签在HTML5完全除去,并且必须不被使用。但我猜想大多数浏览器仍然支持它。

的http:// www.w3.org/TR/html5/obsolete.html < - 没有足够的信誉,为您提供有用的链接...

所以它不可能只样式的一部分选项文本。但是,您可以设置完整的选项字段。 select元素外部的font元素可能仍然会呈现所需的结果。请参阅下面的示例:

<style> 
    option.red_background {background-color: red;} 
    option.red_text {color: red;} 
</style> 
<select> 
    <option value="0"> 
     <?php echo 'full_name'; ?> 
     <font color=#ff0000> 
      <?php echo " *-* NOT DINE WITH *-*"; ?> 
     </font> 
    </option> 
     <?php 
     if ($row22['ndw'] === 'yes') { 
      echo '<option class="red_text" value="1">'; 
     } else { 
      echo '<option value="1">'; 
     } 
     ?> 
     <?php echo 'full_name'; ?> 
     <?php echo " *-* NOT DINE WITH *-*"; ?> 
    </option> 
    <option class="red_background" value="2"> 
     <?php echo 'full_name'; ?> 
     <?php echo " *-* NOT DINE WITH *-*"; ?> 
    </option> 
</select> 
<font color=#ff0000> 
    <?php echo " *-* NOT DINE WITH *-*"; ?> 
</font> 
+0

我很抱歉,如果我没有把问题搞清楚。我们可以搜索符合特定标准的成员。当显示结果集时,我们只想让任何具有* - * NOT DINE WITH * - *的成员以红色显示。我们需要他们从其他人中脱颖而出,以便我们检查他们的会员档案,看看他们不想与谁一起用餐。他们的结果很好,但都是黑色的。即使我们可以让* - *不与*一起吃 - - * BOLD它会帮助我们脱颖而出。 – newphper

+0

我省略了所有变量,因此在测试我的代码之前我不必对它们进行初始化。现在我更新了(添加了条件)我的答案,以澄清我的意图是什么。突出显示整个选项元素,而不是仅突出显示NOT DINE WITH。其余部分确实脱颖而出。 – amkoroew

相关问题