0

如果我可以与我的数据库表对话,我会说“如果 client_id 和 salesrep_id 在同一行,请执行此操作!

我拥有的大多数条件逻辑。这是我正在努力解决的“同一行”部分。

本质上,我正在构建一个系统,允许所有销售代表查看整个数据表,但允许每个代表只更新他们自己的特定条目。

这个想法是禁用显示中其他所有人的“编辑”链接。

像这样...

    <?php if ($row_listClients['client_id'] && $row_listClients['salesrep_id']) { ?>
    <td><a href="edit_clients.php?client_id=<?php echo $row_listClients['client_id']; ?>">Edit</a>
    </td>
    <?php } else { ?>
    <td>Edit</td>
    <?php } ?>

显然初始条件不起作用( && 将始终为真),但其他一切都很好。这只是我坚持的一点。

希望这是有道理的,我知道这可能是非常基本的东西。

谢谢一堆家伙,任何指针将不胜感激。

--

这是查询:

    $query_listClients = "SELECT client_id, user_id, repname, date, client_type, company,
    contact_firstname, contact_lastname, phone, email, property, address, city, province,
    repnotes FROM clientdata ORDER BY company ASC";
    $listClients = mysql_query($query_listClients, $connAdmin) or die(mysql_error());
    $row_listClients = mysql_fetch_assoc($listClients);

再次感谢 ...

--

数据库数据样本 - 我仅作为测试输入。前两个数字分别是 client_id 和 user_id:

    19;"33"; "Ronald Wharton"; "March 20 2013"; "Commercial"; "Bonkers Inc."; "Brett";
    "Bonkers"; "987   654 3211"; "brentbonkers@bonkersinc.com"; "Retail Outlet"; 
    "12765 34 Ave"; "Lost Soul City"; "Sask"; "Brett wants to meet with Keith and Dean 
    before the end of the week.  Please call before Friday."        

不知道这是否有帮助,但你走了,谢谢。

4

2 回答 2

1

您应该将当前的salesrep_id(登录的那个人)存储在会话中,然后将其与mySql查询返回的salesrep_id进行比较(在下面的示例中,我将当前登录的salesrep_id设为1)

在 SQL 语句中添加 WHERE 子句,如下所示:

SELECT * FROM $tableName WHERE salesrep_id = 1

你只得到 salesrep_id = 1 的行

或者,如果您想从数据库中获取所有行,然后

SELECT * FROM $tableName

进而

// 检查返回的 salesrep_id = current Sales Rep. Id (本例中为 1)

<?php if ($row_listClients['client_id'] && $row_listClients['salesrep_id'] == 1) : ?>

// 显示编辑链接

<?php endif; ?>

于 2013-03-21T00:14:58.753 回答
1

我重读了你的问题。听起来好像您正在查询以获取所有记录,但只想显示应允许特定销售代表编辑的项目的编辑链接。

由于您想要所有记录,因此不应该通过 SQL 来完成,听起来您需要做的就是更改:

<?php if ($row_listClients['client_id'] && $row_listClients['salesrep_id']) { ?>

类似于:

<?php if ($row_listClients['salesrep_id'] == $currentSalesRepId) { ?>

您显然需要为$currentSalesRepId.

于 2013-03-21T20:22:07.917 回答