mcs*_*ent -4 php mysql sql database
我无法解决这个问题.在数据库中有2个不同的表,1个名为USERS的表是TICKETS.当用户注册该信息存储在USERS表中时,只有注册用户才能打开支持的票证.当用户打开票据时,信息存储在TICKETS表中.现在的问题是,当一些随机的用户希望看到的票状态,它们显示存储到TICKET表中的所有门票,这是我们不想要的东西,我们要显示从谁在下面的代码示例登录用户只票证状态:
在ticket-status.php上,预览数据的页面代码是:
<?php
include('connection.php');
$result = $db->prepare("SELECT * FROM tickets JOIN users WHERE users.email=tickets.email");
$result->execute();
for($i=0; $row = $result->fetch(); $i++){
?>
<tr>
<th scope="row"><?php echo $row['ticket_id'] ?></th>
<td><?php echo $row['item_selected'] ?></td>
<td><?php echo $row['help_selected'] ?></td>
<td><?php echo $row['message'] ?></td>
<td><?php echo $row['status'] ?></td>
</tr>
<?php
}
?>
Run Code Online (Sandbox Code Playgroud)
这是用户数据库的外观:
ID - FIRST NAME - LAST NAME - EMAIL - PASSWORD - PHONE - CREATED - MODIFIED
1 Greg McFe u@g.com 123 123 date date
2 Roy McDs a@g.com 133 222 date date
3 Tina MCda g@g.com 333 111 date date
Run Code Online (Sandbox Code Playgroud)
门票数据库是:
TICKET_ID - ITEM_SELECTED - HELP_SELECTED - EMAIL - PHONE - MESSAGE - STATUS
1 theme2 problem u@g.com 123 msg1 open
2 theme12 errors a@g.com 222 msg12 open
3 theme8 solution g@g.com 333 msg9 closed
Run Code Online (Sandbox Code Playgroud)
我需要的.在ticket-status.php页面上,当随机用户登录并查看他的票证状态时,显示他的打开票证.例:
TICKET ID - ITEM SELECTED - HELP SELECTED - MESSAGE - STATUS
2 theme12 errors msg12 open
Run Code Online (Sandbox Code Playgroud)
您需要通过将结果添加到您的WHERE
子句来将结果限制为仅登录用户.
我从你的代码中看不到你知道登录用户的EMAIL是什么,但我想你必须知道这个
SELECT *
FROM tickets
JOIN users ON users.EMAIL = tickets.EMAIL
WHERE user.EMAIL = <the logged in users EMAIL>
Run Code Online (Sandbox Code Playgroud)
将
ID
用户放入Tickets
表中是一个更好的主意,而不是users
表格,所有人都会继续工作.就像现在一样,你也需要修改它们Tickets
.
归档时间: |
|
查看次数: |
73 次 |
最近记录: |