2011-01-13 25 views
2

條件CSS類的代碼,以示對評論框不同的造型類,如果該評論已被管理員簡單的PHP問:我使用基於用戶

<li class="<?php if ($comment->user_id == 1) $oddcomment = "authorstyle"; echo $oddcomment; ?>"></li> 

管理取得了user_ID的= 1 。現在,如果我想添加user_id 5和6,該如何編輯此代碼?

+1

你會得到答案的十幾個人都將是錯誤的。僅僅因爲這個問題並不像看起來那麼簡單 – 2011-01-13 06:18:51

回答

2

您既可以使用||運營商(指或):

if ($comment->user_id == 1 || $comment->user_id == 5 || $comment->user_id == 6)

或者你可以使用in_array:

 
if (in_array($comment->user_id, array(1, 5, 6)) 

這看起來更好,更易於維護。 :)

0

你可以使用這樣的事情:

<li class="<?php 
    if ($comment->user_id == 1) 
    $oddcomment = "authorstyle"; 
    if ($comment->user_id == 2) 
    $oddcomment = "somethingelse"; 
    if ($comment->user_id == 3) 
    $oddcomment = "blahbalh"; 
echo $oddcomment; ?>"></li> 

...等,爲多種樣式。

<li class="<?php 
    if ($comment->user_id == 1 || $comment->user_id == 4 || $comment->user_id == 5) 
    $oddcomment = "blahbalh"; 
echo $oddcomment; ?>"></li> 

...用於具有一個樣式的多個ID。

0

只需在if語句中使用OR||即可。

<li class="<?php if ($comment->user_id == 1 || $comment->user_id == 5 || $comment->user_id == 6) $oddcomment = "authorstyle"; echo $oddcomment; ?>"></li>

0

你可以試試這個代碼

<?php 
if ($comment->user_id == 1) 
    $oddcomment = "authorstyle"; 
else($comment->user_id == 5) 
    $oddcomment = "authorstyle2"; 
else($comment->user_id == 6) 
    $oddcomment = "authorstyle3"; 
?> 

<li class="<?php echo $oddcomment; ?>"></li> 
2

一個(可能)能力去處理這種情況的辦法是問,如果用戶ID是一組用戶ID之一,因此一些相當瑣碎的條件是:

in_array($comment->user_id, array(1,5,6)) 

顯然你正在開發某種許可制度的,所以你真的會更好想出一個辦法從他們的身份抽象的用戶權限,並驗證用戶具有一定的特權或狀態而不是在每個地方檢查所述狀態。

執行此操作的一種方法可能是將用戶分配給管理員組,然後根據組進行檢查,而不是針對所有ID。更好的是,您可以考慮在組中設置一些屬性,例如has_style_xyz,然後在條件中檢查has_style_xyz

0

在你可以做這樣的事情一個簡單的方法:

 <?php 
     $liStyles[1] = 'authorstyle'; 
     $liStyles[5] = 'somestyle'; 
     $liStyles[6] = 'someotherstyle'; 
    ?> 



<li class="<?php echo $liStyles[$comment->user_id]; ?>"></li>