如果我可以与我的数据库表交谈,我会说“如果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 } ?>
显然初始条件不起作用(&amp;&amp;将永远是真的),但其他一切都很好。只是这一点我坚持下去。
希望这是有道理的,我知道这可能是非常基本的东西。
非常感谢大家,任何指针都会非常感激。
-
以下是查询:
$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."
不知道这是否有任何帮助,但是你去了,谢谢。
答案 0 :(得分: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 =当前Sales Rep.Id(本例中为1)
<?php if ($row_listClients['client_id'] && $row_listClients['salesrep_id'] == 1) : ?>
//显示编辑链接
<?php endif; ?>
答案 1 :(得分:1)
我重读了你的问题。听起来好像您要查询所有记录,但只想显示特定销售代表应该允许编辑的项目的编辑链接。
既然你想要所有的记录,这不应该通过SQL来完成,听起来你需要做的就是改变:
<?php if ($row_listClients['client_id'] && $row_listClients['salesrep_id']) { ?>
类似于:
<?php if ($row_listClients['salesrep_id'] == $currentSalesRepId) { ?>
您显然需要为$currentSalesRepId
使用适当的变量。