如果具有列帐号的行匹配在一起,则显示表A中的所有信息

时间:2017-09-26 15:50:31

标签: php mysql pdo

我有两个表,transregtrans表包含我的所有用户注册信息,trans表包含我的所有用户借记或信用额度。我想在每个用户页面上显示他们登录页面时的交易历史记录。所以我尝试使用帐号,但它不能完美运行。我希望每个用户在登录时都能看到他们的交易记录。

请记住,CREATE TABLE `reg` ( `UserID` int(200) NOT NULL, `Firstname` varchar(200) NOT NULL, `Lastname` varchar(200) NOT NULL, `Middlename` varchar(200) NOT NULL, `Gender` varchar(200) NOT NULL, `Dob` varchar(200) NOT NULL, `Email` varchar(200) NOT NULL, `Phone` varchar(200) NOT NULL, `Username` varchar(200) NOT NULL, `Password` varchar(200) NOT NULL, `Accounttype` varchar(200) NOT NULL, `identificationtype` varchar(200) NOT NULL, `Address` varchar(200) NOT NULL, `Zipcode` varchar(200) NOT NULL, `Cityname` varchar(200) NOT NULL, `Country` varchar(200) NOT NULL, `Accnumber` bigint(200) NOT NULL, `Amount` varchar(200) NOT NULL, `info` enum('YES','NO','','') NOT NULL, `Status` enum('ADMIN','USER','','') NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; --------------------------------------------------------------------- CREATE TABLE `trans` ( `id_transfer` int(10) UNSIGNED NOT NULL, `re_ln` varchar(200) NOT NULL, `re_fn` varchar(200) NOT NULL, `re_name` varchar(200) NOT NULL, `re_number` varchar(200) NOT NULL, `re_amount` varchar(200) NOT NULL, `transfer_code` varchar(200) NOT NULL, `routine_number` varchar(200) NOT NULL, `swift_code` varchar(200) NOT NULL, `Bank_name` varchar(200) NOT NULL, `Bank_address` varchar(200) NOT NULL, `City` varchar(200) NOT NULL, `State` varchar(200) NOT NULL, `Zipcode` varchar(200) NOT NULL, `Country` varchar(200) NOT NULL, `Pincode` varchar(200) NOT NULL, `Transfer_id` varchar(200) NOT NULL, `t_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `Statuss` enum('YES','NO','CANCEL','') NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 表包含大量信用卡或借记卡交易信息或具有相似帐号的不同用户的历史记录。

require_once 'dbconfig.php';

    $stmt = $db_con->prepare("SELECT * FROM trans INNER JOIN reg ON reg.Accnumber = trans.Transfer_id ");
    $stmt->execute();
    while($row=$stmt->fetch(PDO::FETCH_ASSOC))
    {
        ?>
        <tr>
        <td height="38"><?php echo $row['re_name']; ?></td>
        <td><?php echo $row['Bank_name']; ?></td>
        <td><?php echo $row['re_number']; ?></td>
        <td>$<?php echo $row['re_amount']; ?></td>
        <td><?php echo $row['swift_code']; ?></td>
        <td><?php echo $row['t_date']; ?></td>
        <td align="center">
          <?php

以下是显示信息的代码

{{1}}

1 个答案:

答案 0 :(得分:0)

在查询中稍作修改并传递会话值。举个例子,粗略的一个:

SELECT * FROM trans
INNER JOIN reg
ON reg.Accnumber = trans.Transfer_id
WHERE USER_ID = SESSION["userId"];