Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 两个表查询,结果中的奇怪乘法_Php_Mysql - Fatal编程技术网

Php 两个表查询,结果中的奇怪乘法

Php 两个表查询,结果中的奇怪乘法,php,mysql,Php,Mysql,您好,提前感谢您的回答。 我有两个表,曲目(关于音乐的信息、标题、长度、cd\u id..等)和购买物品(购买的曲目、cd\u id..等)。我有一个疑问: 函数蓝色($id) } 我要做的是检查两个表是否匹配,并显示tracks表中的所有信息以及purchd_items表中的匹配项,这些匹配项将替换tracks表中的条目。如果用户已经购买了任何曲目,我想显示下载链接,而不是通常的购买曲目链接。我想有点像itunes 我可以通过上面的查询实现这一点,但是返回数组中的项数乘以purchd_item

您好,提前感谢您的回答。 我有两个表,曲目(关于音乐的信息、标题、长度、cd\u id..等)和购买物品(购买的曲目、cd\u id..等)。我有一个疑问:

函数蓝色($id)

}

我要做的是检查两个表是否匹配,并显示tracks表中的所有信息以及purchd_items表中的匹配项,这些匹配项将替换tracks表中的条目。如果用户已经购买了任何曲目,我想显示下载链接,而不是通常的购买曲目链接。我想有点像itunes

我可以通过上面的查询实现这一点,但是返回数组中的项数乘以purchd_items表中的条目数,我无法消除重复项

希望我在这里讲得通!谢谢大家!

我想出来了


选择tracks.id、tracks.track\u id、tracks.cd\u id、tracks.title、tracks.lenght、tracks.price、tracks.file、tracks.preview、tracks.hash、purchd\u items.cd\u id,purchd_items.name FROM tracks LEFT连接tracks.cd_id=purchd_items.cd_id和purchd_items.name=tracks.title和purchd_items.user_id=$user_id WHERE tracks.cd_id=$id ORDER BY tracks.id

可以发布表结构吗?还有一些唱片?顺便问一下,您的查询结果是什么?@dArc table tracks id track\u id cd\u id title lenght price file preview hash-----------------------11 2 trck1 5.00 0.99 xx xxxx xxxx 2 2 trck2 3.22 0.99 xx xxxx xxxx xxxx table PURCD\u项目id用户id cd\u id订单号购买的文件买方名称-------------------------1 1 2 xxxxx 2 trck1 XXXXXX 2 1 2 xxxxx 4 trck2 xxxxx xxxxx xxxxx
{
    $user_id = $this->tank_auth->get_user_id();

    $query = $this->db->query("SELECT tracks.id, tracks.track_id, tracks.cd_id, tracks.title, tracks.lenght, tracks.price, tracks.file, tracks.preview, tracks.hash, purchd_items.cd_id, purchd_items.name FROM tracks LEFT JOIN purchd_items ON tracks.cd_id = purchd_items.cd_id WHERE purchd_items.user_id = $user_id AND tracks.cd_id = $id GROUP BY tracks.title, purchd_items.name ORDER BY tracks.track_id");
    return $query->result();