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.'

我有一个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.'</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.