从两个不同的mysql表调用数据

时间:2013-10-12 21:18:55

标签: php mysql

我是编码的初学者。

我有一个表,我需要来自两个不同的mysql数据库表的数据。

到目前为止;

$query = "SELECT t.*, DATE_FORMAT(t.created, '%e %b %Y') AS payment_date, u.username, u.email FROM prcb_transactions t,  prcb_users u WHERE t.user_id=u.user_id $filter_by ORDER BY $rrorder $rorder LIMIT $from, $results_per_page";
        $result = smart_mysql_query($query);
        $total_on_page = mysql_num_rows($result);

<?php while ($row = mysql_fetch_array($result)) { $cc++; ?>
                  <tr>
                    <td><?php echo $row['username']; ?></td>
                    <td><?php echo $row['title']; ?></td>
                    <td><?php echo $row['transaction_amount']; ?></td>
</tr>
<?php } ?>

'title'列位于另一个名为prcb_retailers的表中,但不知道如何在$ query中提及此表。任何人都可以引起我的注意吗?

3 个答案:

答案 0 :(得分:0)

我相信JOINS会为你做,但请确保你正确使用你的索引。

答案 1 :(得分:0)

可能使用下一个查询:

$query="
SELECT
   t.*,
   DATE_FORMAT(t.created, '%e %b %Y') AS payment_date,
   u.username,
   u.email,
   r.*
FROM
   prcb_transactions t,
   prcb_users u,
   prcb_retailers r
WHERE
   r.id=t.retailer_id and
   t.user_id=u.user_id
   $filter_by
ORDER BY
   $rrorder $rorder
LIMIT $from, $results_per_page
";

我猜到了r.id=t.retailer_id部分...可能你必须将字段名称更改为真实的...

答案 2 :(得分:0)

要检索预期结果,需要在选择列表中提及“标题”列。希望'标题'字段在表'rcb users'中可用,然后使用列'u.title'