我正在开发活动网站,在创建活动之后,网站会像这样向用户提供活动网址
www.event.com/?h=6997287a21a94875a1d827f9e2790a6c
6997287a21a94875a1d827f9e2790a6c
此参数在eventTable中记录为id(主键)。我的问题是我创建了一个评论框,所有评论都是在commentTable上记录的,它有e_id列,该值与eventTable中的id相同。当事件id与commentTable中的e_id相同时,如何从commentTable获取所有注释;
答案 0 :(得分:1)
SQL提供JOIN子句,根据它们之间的公共字段组合来自两个或多个表的行。在这里你可以使用以下查询:
SELECT * FROM eventTable join commentTable on commentTable.e_id=eventTable.id where commentTable.e_id=6997287a21a94875a1d827f9e2790a6c6997287a21a94875a1d827f9e2790a6c
详细了解SQL JOIN。
答案 1 :(得分:1)
事件ID在网址中可见。这意味着,您正在使用GET方法。您将事件ID绑定到url为" h"。因此,我们可以加载相关事件的注释,如下所示。
SELECT comments FROM commentTable WHERE e_id=$_GET['h'];
答案 2 :(得分:0)
通过像这样的连接查询
select * from commentTable inner join eventTable on commentTable.e_id=eventTable.id where commentTable.e_id=111111111
答案 3 :(得分:0)
SELECT * FROM commentTable WHERE e_id = event_id
event_id
是事件ID参数,在您的示例中为6997287a21a94875a1d827f9e2790a6c
答案 4 :(得分:0)
这是一个带有WHERE
子句的简单查询。
SELECT name, comment FROM commentTable WHERE e_id = 6997287a21a94875a1d827f9e2790a6c
6997287a21a94875a1d827f9e2790a6c
答案 5 :(得分:0)
只是select语句中的where子句非常简单。
select name, comment from commentTable where e_id= '6997287a21a94875a1d827f9e2790a6c
6997287a21a94875a1d827f9e2790a6c'
答案 6 :(得分:0)
选择两个表中的所有行,只要列之间匹配并检查您从$_GET
$eventId = $_GET['h'];
select e.id, e.title, e.date, c.name, c.comment from eventTable as e, commentTable as c where e.id = c.e_id and e.id = $eventId;
答案 7 :(得分:0)
然后执行以下代码,
$event_id=$_GET['h'];
$sql="SELECT * FROM commentTable WHERE e_id ='$event_id'";
$result=mysql_query($sql) or die("Query Failed".mysql_error());
$row =mysql_fetch_array($result);
print_r($row);