Php 对于打开同一页面的每个列表项,从数据库中获取不同的数据
我有一个index.php文件和一个details.php文件,它们都从同一个表products中检索数据。 php文件显示了使用Php 对于打开同一页面的每个列表项,从数据库中获取不同的数据,php,mysql,Php,Mysql,我有一个index.php文件和一个details.php文件,它们都从同一个表products中检索数据。 php文件显示了使用 $result = $mysqli->query('SELECT name FROM products'); if($result) { while($obj = $result->fetch_object()) { echo '<li><a href="details.php>'.$obj->name.'
$result = $mysqli->query('SELECT name FROM products');
if($result)
{
while($obj = $result->fetch_object())
{
echo '<li><a href="details.php>'.$obj->name.'</a></li>';
}
}
$result=$mysqli->query('selectname FROM products');
如果($结果)
{
而($obj=$result->fetch_object())
{
回音“”;
}
}
现在在details.php中,我只想显示我所单击的产品名称的详细信息。如何实现这一点?在链接中传递名称,然后在下一页上使用参数化查询并仅获取该记录
echo '<li><a href="details.php?name=' . urlencode($obj->name) . '">'.$obj->name.'</a></li>';
您应该在数据库中有一个主键,并将其放在url détails.php中,而不是传递您的产品名称当您单击所需名称时,使用get或post方法,并从db like
SELECT*中获取详细信息,其中“selectedName”等名称是您昨天的问题的答案,?@chris85问题没有解决,但我接受了barmar的建议,只要用户给出评论,我就将其添加到表中。
$stmt = $mysqli->prepare('SELECT * FROM products where name = ? limit 1');
$stmt->bind_param("s", $_GET['name']);
$stmt->execute();
$res = $stmt->get_result();
$row = $res->fetch_assoc();
print_r($row); // or whatever you want to do with it, indexes will be by name because is associative.