我正在创建一个我需要销售产品的网站。我被困在网站的产品页面上。
像amazon.com这样的大型电子商务网站必须拥有产品页面的模板,并且它们会动态加载所有数据,包括产品图片,价格,数据库中的评论。我还想创建一个类似的产品页面,在点击产品链接时,它会自动加载存储在数据库中的所有图像,价格和信息并显示它。
如果点击了其他产品,则所有内容都会加载到同一个html/php
模板页面上,并且我不必为不同的产品制作不同的页面。我怎样才能做到这一点?
我一直在寻找解决方案很多天,但我不知道究竟要搜索什么才能得到答案。
答案 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分钟内看到本地主机上的输出。你可以在此基础上构建。
您可以搜索:从数据库加载图片,javascript,jquery以增强网站界面,使用此基础上的ajax等等。
答案 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)) .
"'> </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>";
}