0

製品のリストを含むプログラムを作成しています。ユーザーに特定の製品をクリックして、その詳細を表示してもらいたい。次のコードを書きました。現在の「product_id」を $_SESSION 変数に取得し、その詳細を次のページに表示しています。機能していますが、目的の出力が得られず、各製品の同じIDを取得しています。その値を $_SESSION に保存しているためだと思います。よく調べて、正しいやり方を教えてください。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>

<?php 
session_start();

    include 'connect.php';

        $query=         mysql_query ("select product_id,name, price, description from products" );


        while ($query_array=    mysql_fetch_assoc($query))
        {
            echo '</br><pre>';





            $_SESSION['id']=    $query_array['product_id'];
            $product_id=     $_SESSION['id'];           

            echo "<a href='single_product.php?product_id=$product_id' >";
            print_r ($query_array['name']);
            echo    "</a>";

            print_r ($query_array['price']);

            echo "<img src= 'all_images.php' alt= 'Image'";

            echo '</pre>';


        }

?>
4

1 に答える 1

3

$row に $_session ではなく $_session で $row を定義する必要があります

     $_SESSION['id']=    $query_array['product_id'];   //<---- must reverse it.
        $product_id=     $_SESSION['id']; 

これを試して

       $product_id = $query_array['product_id'] ;
       $product_id = $_SESSION['id'];

または、$_GET 経由で ID を渡すこともできます

あなたのコードで

   echo "<a href='single_product.php?product_id=$product_id' >";

他のファイルでそのようなproduct_idを取得できます

     echo $_GET['product_id'] ;
于 2013-07-21T11:56:16.680 に答える