簡體   English   中英

如果陳述依賴於SQL查詢結果,如何制作PHP

[英]How to make a PHP if statment dependent on SQL query results

我試圖根據SQL數據結果根據用戶級別是1還是5來回顯用戶級別。 這里:

<?php while ($rrows = mysql_fetch_array($rs_results)) {?>
      <tr> 
        <td><input name="u[]" type="checkbox" value="<?php echo $rrows['id']; ?>"     id="u[]"></td>
        <td><?php echo $rrows['id']; ?></td>
        <td><?php echo $rrows['date']; ?></td>
        <td><?php echo $rrows['user_name'];?></td>
        <td><?php echo $rrows['user_email']; ?></td>
        <td><?php ?></td>

因此,我需要一種if語句來從$rrows['id']選擇用戶級別,然后如果所選數據為1,則回顯“網絡”,如果為5,則回顯“管理員”。 如何才能做到這一點?

似乎您需要這樣的東西:

$user_levels = array('Network','role2','role3','role4','Administrator');

<?php while ($rrows = mysql_fetch_array($rs_results)) {?>
      <tr> 
        <td><input name="u[]" type="checkbox" value="<?php echo $rrows['id']; ?>"     id="u[]"></td>
        <td><?php echo $rrows['id']; ?></td>
        <td><?php echo $rrows['date']; ?></td>           
        <td><?php echo $users_levels[(int)$rrows['id']-1]; ?></td>
        <td><?php echo $rrows['user_name'];?></td>
        <td><?php echo $rrows['user_email']; ?></td>
        <td><?php ?></td>

我在數組中使用-1的原因是因為數組基於0,並且您的角色以1開頭。如果您需要使用“ user_level”,只需將行替換為

<td><?php echo $users_levels[(int)$rrows['user_level']-1]; ?></td>

希望這可以幫助!

我不會用if語句來做。 我會那樣做:

$levels = array(1 => "Network", 5 => "Administrator");
echo $levels[$rrows['user_level']];

這樣,如果您想添加其他級別,只需在數組中添加一個值即可。

我不知道您如何在沒有if語句的情況下實現這一目標,但是無論如何,您也可以在sql查詢中做到這一點。 我總是嘗試將盡可能多的邏輯外包給mysql,以實現均衡的負載分配。

SELECT level, IF(level = 1, 'Network', 'Administrator') as level FROM table

我認為您可以嵌套if語句以具有更多選項。

根據以下答案改編: 'SELECT'語句中的'IF'-根據列值選擇輸出值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM