从表1中获取id以匹配表2

时间:2014-11-18 07:42:39

标签: php mysql

我是php的新手,我知道我想做什么,但我不知道如何执行它们

我在mysql中有2个表 表1包含:

ID|Name|AboutMe|Specialisation
Example:
101|Andrew|handsome|drawing
102|Jane|pretty|drawing
103|Daniel|cute|swimming

table 2 contains
ID|Link|Title
101|//image1.jpg|Drawing in the dark
102|//image2.jpg|Drawing in me
103|//image3.jpg|Fish swimming

我想在我的网站运行时显示一些链接到专业化的图像。

我拥有的流量 1)

// get all the ID with drawing as specialisation // will return 2 rows
select ID FROM table1 WHERE Specialisation = "Drawing";
id = ID

2)从匹配的每一行中取出ID,从表2中获取链接,如此

// get row of the links from the userid
Select * FROM userdatafiles WHERE ID = id
store the links into a variable and send to my jquery to display.

所以基本上得到匹配绘图的每一行的id,并获取id从表2中找到相同的id并得到链接,然后将其发送到jquery作为结果。

由于我必须发送许多行,我需要使用数组和放大器循环,我不知道我怎么能这样做。有人可以指导我做我正在做的事情吗?谢谢!

更新:

jquery的:

$.ajax({
    type: "POST",
    //dataType: "json",
    url: "CMS/PHP/displayFeatThumbs.php",
    success: function(data) {
            alert(data[0]);
    }
});

PHP:

<?php
include 'dbAuthen.php';
$sql = 'SELECT * FROM userdatafiles JOIN users ON userdatafiles.UserID = users.UserID WHERE Specialisation = "Interactive Art & Technology"';

$result = mysqli_query($con,$sql);


if (mysqli_num_rows($result) > 0) {
    // output data of each row
    while($row = mysqli_fetch_assoc($result)) {
        echo $links[] = $row["Link"];           
    }
} else {
    echo "0 results";
}
?>

不知道如何在jquery上显示数组索引,尝试了alert(data [0]),alert(data.links [0]);

1 个答案:

答案 0 :(得分:2)

您可以使用自然连接来连接2个或更多表。 查询应如下所示:

SELECT * FROM userdatafiles JOIN table1 ON userdatafiles.id = table1.id WHERE Specialisation = "Drawing"

结果将是一个像这个例子的新表:

table1:id |名字|日期
table2:id |城市|国家

结果: id |名字|日期|城市|国家

您可以使用以下数据:

$result = mysql_query("Your Query");  
while($row = mysql_fetch_object($result)){  
            //Access values with $row->ColumnName  
}