不要在<select> </select>中显示当前用户

时间:2013-11-18 11:27:41

标签: php mysql html-select

我有一个select字段,显示数据库中的所有用户。

这是我的代码:

<select name='accountto'> 

<?php 
    mysql_select_db('cl49-xxx', $con)or die( 'Unable to select database');
    $result=mysql_query('SELECT * FROM member WHERE status=2')or die('error');

    echo '<option>'; // first row beginning
    for ($i = 1; $i <= mysql_num_rows($result); $i++)
    {
        $row = mysql_fetch_array($result);
        $businesstype= $row['businesstype'];
        $personID= $row['personID'];
        echo "<option value='$personID'>$businesstype";

        if ($i % 4 == 0) {
            echo '</option>'; // it's time no move to next row
        }
    }
    echo ''; "// last row ending
?>

</select> 

问题是,如何停止从列表中显示当前(登录)用户? 登录用户personID存储在名为user

的Cookie中

有什么想法吗?

4 个答案:

答案 0 :(得分:0)

检查相应的Cookie是否包含您要插入的personID。如果是这样,就不要插入它:

//rest of your code omitted

if($_COOKIE["user"] != $personID) {
  //insert the option
}

<小时/> 另一种方法是,为了摆脱一个压缩水平,如果人员id等于存储在cookie中的id,则继续循环,所以你只需添加

if($_COOKIE["user"] == $personID) {
  continue;
}

初始化$personID后。

答案 1 :(得分:0)

以便从cookie中检索某些内容,例如登录用户

$loggedInUser = $_COOKIE["user"];

if ($personID != $loggedInUser)
{
    echo "<option value='$personID'>$businesstype"; 
}

因此,如果该值与cookie中当前登录的用户匹配,则它不会添加到选项列表

答案 2 :(得分:0)

你可以尝试这个吗,同时,$TotalRows = mysql_num_rows($result);使用这种方式而不是循环,它每次都会被执行。所以我删除了使用for循环

while循环
             <?php

                $currentUser =  $_COOKIE["user"];
                mysql_select_db('cl49-xxx', $con)or die( 'Unable to select database');
                $result=mysql_query('SELECT * FROM member WHERE status=2 and personID!="'.$currentUser.'" ')or die('error');
                $TotalRows = mysql_num_rows($result);
                echo '<option>'; // first row beginning

                $i=1;
                while($row = mysql_fetch_array($result)){
                    $businesstype= $row['businesstype'];
                    $personID= $row['personID'];

                       echo "<option value='$personID'>$businesstype";      
                        if ($i % 4 == 0) {              
                                echo '</option>'; // it's time no move to next row
                        }

                        $i++;
                }

     ?>

答案 3 :(得分:0)

尝试使用此查询 mysql_query('SELECT * FROM member WHERE status=2 and personId != $_COOKIE["user"]')or die('error');

其中personId对于客户而言是唯一的,并且可以在您的cookie中使用。

相关问题