2011-11-16 66 views
-5

通过某些种类的功能,我回到2个functins值...像连接两个函数Php

<? if(check_status_ticket($result["ticket_id"])) echo 'style="font-weight:bold;"'; ?> 

第二个条件是

<? if($result["priority"]=='Emergency' && $result["status"]=='Open') echo 'style="color:red;"';?> 

我想用的功能,以这两个条件结合起来。如果第一个条件是真的,它只会返回粗体。如果第二个条件也是如此它给红色粗体,但如果两个都是假的就返回默认

function check_status_ticket($ticket_id){ 
     $query = mysql_query("SELECT ticket_id FROM tkt_newticket WHERE ticket_id='".$ticket_id."' AND response='No' AND status='Open'") or die(mysql_error()); 
     if(mysql_num_rows($query)=='0'){ 
      return FALSE; 
      } 
    else{ 
     return TRUE; } 
} 

回答

1

该解决方案也许可以帮助你

function check_status_ticket($ticket_id){ 
    $query = mysql_query("SELECT ticket_id, priority, status FROM tkt_newticket WHERE ticket_id='".$ticket_id."' AND response='No' AND status='Open'") or die(mysql_error()); 

    if(mysql_num_rows($query) > 0) { 

     $row = mysql_fetch_assoc($query); 

     if($row["priority"]=='Emergency' && $row["status"]=='Open') return 'style="font-weight:bold; color:red;"'; 

     return 'style="color:red;"'; 
    } else return 'style="font-weight:bold;"'; 

}

+0

使用 “幻数” 不会使这个非常可读... – RoToRa

+0

退房现在的样子,你说得对,现在看起来更可读......;) – norman784

0

就先评估第二个条件,并设置多种样式?

function check_status_ticket($ticket_id) 
{  
$query = mysql_query("SELECT ticket_id FROM tkt_newticket WHERE ticket_id='".$ticket_id."' AND response='No' AND status='Open'") or die(mysql_error());  
if(mysql_num_rows($query)=='0'){   
    return FALSE;   
}else{  

    if(check_status_ticket($result["ticket_id"])) 
    { 
    return 'style="font-weight:bold;"'; 
    } 

    if($result["priority"]=='Emergency' && $result["status"]=='Open') 
    { 
    return 'style="color:red; font-weight:bold"'; 
    } 

    return TRUE; 
} 
} 


echo "<a href='#checkticket' " . check_status_ticket($ticket_id) . " class='ticket_class'>"; 
1
<?php 

// ... 

// prepare useful variables to ease HTML template reading 
$status_ticket = check_status_ticket($result["ticket_id"]); 
$open_emergency = ($result["priority"]=='Emergency' && $result["status"]=='Open'); 

// ... 

?> 

<html> 
... 
<?php 
    // little computing for style (easy to maintain, but it may be 
    // even easier by using CSS classes) 

    $style = ''; 

    if ($status_ticket) 
    $style .= 'font-weight:bold;'; 

    if ($open_emergency) 
    $style .= 'color:red;'; 
?> 
<!-- 
    display step. 
    <div> can be replaced by any tag you dream to apply the $style on 
--> 
<div style="<?php echo $style ?>"></div> 
... 
</html>