Я новичок в PHP, и я пытаюсь сделать торговый сайт для модуля колледжа.
Вот моя страница продуктов, которая перечисляет все продукты:
//Get the category from the URL
$category = $_GET['category'];
echo("<h1>Products: $category</h1>");
echo("<FORM METHOD='LINK' ACTION='products.php'>");
echo("<INPUT TYPE='submit' VALUE='Back'>");
echo("</FORM>");
echo("<hr>");
//Include database file with settings im
require "db.inc";
//Store the connection in a variable for later use
$connection = mysql_connect($hostname, $username, $password);
//Check for connection
if(! $connection )
{
die('Could not connect: ' . mysql_error());
}
//If the category is all then
if($category == "All")
{
$query = "SELECT * FROM products";//Select everything
}
//If it's not then..
else
{
$query = "SELECT * FROM products WHERE category = '$category'";
}
//Open the Database
mysql_select_db($dbname);
//Start the query
$result = mysql_query($query, $connection);
if(!$result )
{
die('Could not retrieve data: ' . mysql_error());
}
//Loop through the rows and display each object
while($row = mysql_fetch_array($result))
{
//Define all variables we will use
$productid = $row['id'];
$productname = $row['name'];
$productdescription = $row['description'];
$productimage = $row['image'];
$productprice = $row['price'];
$productstock = $row['stock'];
//Display each product and it's info
echo("<h3>$productname</h3>");
echo("<a href=$productimage><img border='0' alt=$productname src=$productimage width='100' height='100'></a><br>");
echo("$productdescription<br>");
echo("<b>Price:</b> £$productprice (ex VAT)<br>");
echo("<b>Stock:</b> $productstock<br>");
//Create a link for each product, that goes to the add to cart script with the product id in the URL
//Only if youre logged in can you see this button
if( isset($_SESSION['login']))
{
echo("<FORM METHOD='POST' ACTION='process_addtocart.php?id=$productid&quantity=1'>");
echo("<INPUT TYPE='submit' VALUE='Add to Cart'>");
echo("</FORM>");
}
echo("<hr>");
}
Как вы можете видеть, он получает все продукты из базы данных и добавляет кнопку, которая ссылается на php-файл addcart с идентификатором и количеством для добавления.
Вот моя функция добавления в корзину:
<?php
//Make sure user is logged in first
if( isset($_SESSION['login']))
{
//Setup our shopping cart if it isnt already setup into an array table to hold item info
if( empty($_SESSION['shoppingcart']))
{
$_SESSION['shoppingcart'] = array();
}
$id = $_GET['id'];
$quantitytoadd = $_GET['quantity'];
if( isset( $_SESSION['shoppingcart'][$id]))
{
//CODE TO ADD TO QUANTITY????
}
array_push($_SESSION['shoppingcart'], $id);
echo("Item has been added to your cart!");}
else
{
echo("<p>Please login to add items to your shopping cart!</P>");
}
?>
Как сделать так, чтобы он каждый раз увеличивал количественное значение для конкретного идентификатора TH в таблице массива?
Будет ли это что-то вроде:
array_push($_SESSION['shoppingcart'], $id, $quantitytoadd++);
Или вы можете просто увеличить продукт на единицу с тем, что у вас уже есть, и сделать его идентификатором ключа. Держите ваши входы в чистоте также.
<?php
//Make sure user is logged in first
if( isset($_SESSION['login']))
{
//Setup our shopping cart if it isnt already setup into an array table to hold item info
if( empty($_SESSION['shoppingcart']))
{
$_SESSION['shoppingcart'] = array();
}
$id = $_GET['id'];
$quantitytoadd = $_GET['quantity'];
if( isset( $_SESSION['shoppingcart'][$id]))
{
//CODE TO ADD TO QUANTITY????
$_SESSION['shoppingcart'][$id]++;
}
else
{
$_SESSION['shoppingcart'][$id] = 1;
}
echo("Item has been added to your cart!");}
else
{
echo("<p>Please login to add items to your shopping cart!</P>");
}
?>
Других решений пока нет …