我正在使用php / sql开发一个Web应用程序,用户可以发布他们想要销售的商品(有点像ebay)。我希望非会员能够对项目发表评论或询问有关项目的问题。
我的问题是我想以与Facebook墙工作方式类似的方式显示每个项目以及有关该项目的任何评论/查询。
我想对每个项目“附加评论”(如果有的话)。 comments表通过列item_id链接到items表。而items表通过列user_id链接到users表。我已经离开了带有项目表的连接用户表来显示项目详细信息,我试图离开连接注释表,以便有3个连接表。
失败,因为没有显示任何注释,只显示一个项目,尽管每个表中有多个条目。这是代码i,m使用。
$database->query
('
SELECT sale.*, query.*, users.id AS userid, users.username as user
FROM sale
LEFT JOIN users ON sale.user_id = users.id
LEFT JOIN query on sale.id = query.item_id
where category = "$category" ORDER BY sale.id DESC
');
$show = " "; //variable to hold items and comments
if ($database->count() == 0) {
// Show this message if there are no items
$show .= "<li class='noitems'>There are currently no items to display.</li>" ;
} else {
$show .= "<li>";
while ( $items = $database->statement->fetch(PDO::FETCH_ASSOC) )
{
$show .= "
//show item details in html
";
while( $query = $database->statement->fetch(PDO::FETCH_ASSOC) )
{
$show .= "
//show queries below item details
";
}
$show .= "</li>" ;
}
答案 0 :(得分:0)
欢迎使用Stackoverflow!
我建议你看一下pdo。如果您已经在使用mysql_
功能,那么我建议您切换。有关详情,可以找到here。
现在您指向了连接/运行查询时要使用的函数的方向,现在应该创建表。我使用phpmyadmin来管理我的数据库,我发现它非常好,但这取决于你使用的是什么。一旦您决定使用您用于管理数据库的服务,您就应该通过谷歌搜索来学习如何使用它。
现在您需要设置表并正确构建它。如果你说你有物品,那么你应该制作一个名为items
的表。接下来,为列的属性创建列。另外,我建议阅读Database Normalization,这是设置SQL表等的一个关键方面。
设置好所有内容后,您已成功连接到数据库等等。您现在需要设置“动态页面”。我的意思是,只有一个页面,称为“动态”,然后将变量传递给url
。这些称为GET
HTTP请求。以下是一个示例:http://example.com/item?id=345。
如果您已注意到,则会看到?
,然后将id
变量定义为345
。您可以通过访问名为url
的内置PHP数组,从$_GET[]
GRAB此变量。然后,您可以输入要提取到[]
的变量名称。这是一个例子。
<?php
$data = $_GET['varname']; // get varname from the url
if(isnumeric($data)){ // is it totally made out of numbers?
$query = "SELECT fieldname FROM table WHERE id=:paramname";
$statement = $pdo->prepare($query); // prepare's the query
$statement->execute(array(
'paramname'=>$data // binds the parameter 'paramname' to the $data variable.
));
$result = $statement->fetch(PDO::FETCH_ASSOC); // grabs the result of the query
$result = $result['fieldname'];
echo 'varname was found in the database with the id equal to:'.$data.', and the result being: '.$result;
}
?>
现在,您可以看到如何从网址中获取变量,并动态更改页面中的内容!
希望这有助于:)