在模板页面

时间:2015-05-22 20:32:17

标签: javascript php html css web

我正在创建一个我需要销售产品的网站。我被困在网站的产品页面上。

像amazon.com这样的大型电子商务网站必须拥有产品页面的模板,并且它们会动态加载所有数据,包括产品图片,价格,数据库中的评论。我还想创建一个类似的产品页面,在点击产品链接时,它会自动加载存储在数据库中的所有图像,价格和信息并显示它。

如果点击了其他产品,则所有内容都会加载到同一个html/php模板页面上,并且我不必为不同的产品制作不同的页面。我怎样才能做到这一点?

我一直在寻找解决方案很多天,但我不知道究竟要搜索什么才能得到答案。

3 个答案:

答案 0 :(得分:1)

创建一个php页面,比如load_products.php并传递get load_products.php?product_id=1之类的参数。 更改id(根据数据库设置)并从数据库中获取相应的产品详细信息。

编辑:详细答案

<强>数据库

表:table_products

+--------------------------+---
| id |   name   | details  | ...
+--------------------------+---
| 1  | Product1 | Details1 | ...
| 2  | Product2 | Details2 | ...
            ...
+--------------------------+---

我将向您展示如何使用MySQL数据库。

PHP代码
load_products.php

// Establish connection to database
$conn = mysql_connect('localhost', 'username', 'password');
mysql_select_db('products_database_name');

// Display All the Products
$res=mysql_query("SELECT * FROM table_products");
echo "<table>";
while($row=mysql_fetch_array($res))
{
    $id=$row["id"];
    $name=$row["name"];
    echo "<a href='load_products?id=$id'>$name</a>";
}

// Display the details of a particular product based on the input click from user
if(isset($_GET["id"]))
{
    $id=$_GET["id"];
    $res=mysql_query("SELECT * FROM table_products WHERE id=$id");
    echo "<table>";
    while($row=mysql_fetch_array($res))
    {
        $details=$row["details"];
        $name=$row["name"];
        echo "<tr><td>$name</td><td>$details</td></tr>";
    }
    echo "</table>";
}

一个非常简单的实现,但完全正常工作,您可以在15分钟内看到本地主机上的输出。你可以在此基础上构建。

您可以搜索:从数据库加载图片,以增强网站界面,使用此基础上的等等。

答案 1 :(得分:0)

我认为您正在寻找的是使用JQuery加载ajax。 Ajax使您能够在服务器中查询数据,并将其动态加载到页面上的空间中。

在ajax上查看这篇文章:http://www.practicalecommerce.com/articles/1993-What-Are-AJAX-and-Dynamic-JavaScript-

答案 2 :(得分:0)

请找到改进版

products.php page

 // Establish connection to database
$conn = mysql_connect('localhost', 'username', 'password');
mysql_select_db('products_database_name');

// Display All the Products
$res=mysql_query("SELECT * FROM table_products");
$productsPerRow = 4; 
$columnWidth = (int)(100 / $productsPerRow);
$count = 0; //count product displayed

echo "<table>
        <tr>";
while($row=mysql_fetch_array($res))
{
    $count++;
    $id    = $row["id"];
    $name  = $row["name"];
    $image = $row["image"]; //image name with extension, upload it in the images folder
    echo "<td width='" . $columnWidth ."' >
            <img src='images/" . $image ."' border='0'/><br />
            <a href='load_product.php?id=$id'>$name</a>
         </td>";
    if($count%$productsPerRow==0)
        echo"</tr><tr>";

}

//close empty cells
if ($count % $productsPerRow > 0) {
    echo "<td colspan='" . ($productsPerRow - ($count % $productsPerRow)) .
    "'>&nbsp;</td></tr>";
}

//close table
echo "</table>";

load_product.php page

// Establish connection to database
$conn = mysql_connect('localhost', 'username', 'password');
mysql_select_db('products_database_name');

// Display the details of a particular product based on the input click from user
if(isset($_GET["id"]))
{
    $id=$_GET["id"];
    $res=mysql_query("SELECT * FROM table_products WHERE id=$id");
    echo "<table>";
    while($row=mysql_fetch_array($res))
    {
        $details=$row["details"];
        $name=$row["name"];
        echo "<tr><td>$name</td><td>$details</td></tr>";
    }
    echo "</table>";
}