我正在做一個小型的大學任務,爲一個網站使用PHP構建一個簡單的電子商務引擎。PHP如果聲明,適合?
我目前有以下腳本設置來顯示一個類別內的產品,所有這些都是從MySQL數據庫中檢索的。
http://example.com/category.php?id=2
我目前遇到的問題是,對於每個產品顯示的腳本只是簡單地將每個並排回顯到一個新的表項中。這導致他們瀏覽頁面而不是垂直頁面。
改變這段代碼的最佳方式是什麼?例如每行最多有三個產品?一個If循環或沿着這些線?希望得到支持!
<?php
//Create Session
session_start();
//Connect to database
include "conn.php";
//Retrieve Header
include "header.php";
//Get Category ID
if (isset($_GET['id'])){
$CategoryID = $_GET['id'];
//QUERY collects product name, and product ID.
$q="SELECT ProductID, ProductName, Price,img FROM Products WHERE CategoryID=$CategoryID";
//QUERY collects Product Category descriptions
$d="SELECT `Desc` FROM ProductCategories WHERE CategoryID=$CategoryID";
//retrive and execute SQL query results and save into a variable
$result = mysqli_query($_SESSION['conn'],$q);
$result2 = mysqli_query($_SESSION['conn'],$d) or die(mysql_error());
//Retrieve Product Category Description
echo "<div>";
while ($myResult = mysqli_fetch_row($result2)){ //Create an array
echo "<p>".$myResult[0]."</p>";
}
echo "</div>";
//Retrieve Products in category
echo "<div align='center'><table border='1px' bordercolor='#000000' width='200px'><tr>"; //Define table, row and div containing each product
while ($row = mysqli_fetch_row($result)){ //Create an array
echo "<td>"; //Create table cell
echo "<p><img src=".$row[3]."></p>"; //product image small (250x250 Pixels)
echo "<p align='center'><a href='product.php?id=".$row[0]."'>".$row[1]." </a></p>"; //Product ID Link and Name
echo "<p align='center'>£ ".$row[2]."</p>";
echo "</td>"; //Close table cell
}
echo "</tr></table></div>";//Close table, div and row
mysqli_free_result($result);
}
// Retireve Footer
include "footer.php";
?>
對於任何類型的編程,我都是新手,所以要感謝耐心/您可以給我的任何支持。此外,我知道SQL注入問題,並會在稍後解決此問題。
我刪除了鏈接到您的網頁,因爲您的代碼H作爲一些SQL注入缺陷。永遠不要顯示你的代碼和它運行的網站。即使你想稍後改變它。 – 2013-03-12 14:36:17
只是一個提示。不要建立我以後會以安全的態度去做的心態。這可能會導致代價高昂。 – SchautDollar 2013-03-12 14:36:29
您可以使用'mysql_real_escape_string'輕鬆獲得解決方法,儘管它具有說服力,您可以快速解決注入缺陷。 – 2013-03-12 14:39:58