查询不返回所有数据

时间:2014-08-22 06:07:15

标签: php mysql sql

我创建了潜在客户管理系统。我创建了如下所示的用户类别类型

  1. user - 系统的普通用户,只能在登录系统时看到他/她的数据
  2. admin - 作为经理登录处理,经理可以看到已经以他/她的名义注册的用户的所有数据
  3. 功能: -

    我已经创建了一个功能,其中我正在检查登录用户的天气是' logged_in_as'作为管理员或用户。编码员给下面

    function logged_in_as() {
        return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `user` WHERE `user_type` = 'admin'"), 0) == 1) ? true : false;
    }
    

    查询: -

    现在通过使用此功能,我试图根据下面的查询提取数据。

    if(logged_in_as() === false) {
        $sql = mysql_query("SELECT * FROM `lead_table` WHERE `created_by` = $session_user_id");
        } else {
        $sql = mysql_query("SELECT * FROM `lead_table`");
        }
        $hotelcount = mysql_num_rows($sql);
        if($hotelcount > 0) {
            while($row = mysql_fetch_array($sql)) {
            $id             = $row['customer_id'];
            $pic            = $row['client_name'];
            $country        = $row['city'];
            $destination    = $row['contact_person'];
            $price          = $row['email_id'];
            $mobile         = $row['mobile'];
            $lead_id        = $row['lead_id'];
            $dynamiclist    .= '<tbody>
                                    <tr class="yahoo">
                                        <td>' . $id . '</td>
                                        <td>' . $pic . '</td>
                                        <td class="hidden-phone">' . $country . '</td>
                                        <td class="hidden-phone">' . $destination . '</td>
                                        <td class="hidden-phone">'. $price . '</td>
                                        <td>'. $mobile .'</td>
                                        <td>Trident</td>
                                        <td><a href="edit.php?mode=update&lead_id='. $lead_id   .'">Edit</a> / <a href="updatelead.php?lead_id='. $lead_id  .'">Update</a></td>
                                    </tr>
                                </tbody>';
        }
        } else {
            $dynamiclist = 'We Do Not Have Any Hotel Listed in This City';
        }
    

    错误: -

    当我以&#39;用户&#39;登录时查询只返回用户输入的数据,但当我登录时,管理员查询没有返回注册用户在该管理员下输入的任何数据。

    请帮助!!!

3 个答案:

答案 0 :(得分:2)

检查logged_in_as()是否返回正确的bool值。也许你在该函数中有一个错误,它总是返回false。

由于它是假的,它将返回该用户输入的所有潜在客户(即管理员),并且由于管理员尚未输入任何数据,因此显示为空白。

这只是猜测。它应该工作,否则你的代码显然没问题。

让我知道logged_in_as()函数返回什么内容以获得进一步的支持。

答案 1 :(得分:0)

请注意,为什么不将用户组(管理员或普通用户)保存到会话中,而不是在检查谁是系统管理员而不是系统管理员时始终运行该功能?您可能会在页面上多次运行该sql例程,只是为了检查看起来有点多的用户组。在那个时刻它会像这样检查:

if(isset($_SESSION['usergroup']) && $_SESSION['usergroup'] == 'admin') {
    // Do your code thang...
}

您只能在登录时运行sql userid检查。也许你的系统没有繁重的流量,它不会让你陷入困境,但这似乎只是为了继续检查用户组。此外,关于已弃用的mysql_query的评论也属实,您应切换到PDO or mysqli来电。

答案 2 :(得分:0)

我希望我弄错了,但你的logged_in_as()方法是否有效?它似乎没有输入。

只要您的user表包含至少1个管理员,它就会始终返回true。

试一试,看看是否有帮助

function logged_in_as() {
    return (mysql_result(mysql_query("SELECT if(user_type='admin',1,0) FROM `user` WHERE `user_id` = $session_user_id"), 0) == 1) ? true : false;
}