Os voy a poner todo los scripts.
primero tengo un script llamado cart.php que es vamos a decir el carrito de compra. aqui es donde añado, quito etc productos
cart.php
Código PHP:
<?php
include("cookies.inc");
include("instellingen.inc");
session_start();
switch($_GET["action"])
{
case "add_item":
{
AddItem($_GET["id"], $_GET["qty"]);
ShowCart();
break;
}
case "update_item":
{
UpdateItem($_GET["id"], $_GET["qty"]);
ShowCart();
break;
}
case "remove_item":
{
RemoveItem($_GET["id"]);
ShowCart();
break;
}
default:
{
ShowCart();
}
}
function AddItem($idproduct, $qty)
{
database("connect");
$idgroup = $_GET['categoriaID'];
$result = mysql_query("select count(*) from cart where IDCOOKIE = '" . GetCartId() . "' and IDPRODUCT = $idproduct");
$row = mysql_fetch_row($result);
$numRows = $row[0];
if($numRows == 0)
{
@mysql_query("insert into cart(IDCOOKIE, IDPRODUCT, QTY) values('" . GetCartId() . "', $idproduct, $qty)");
}
else
{
UpdateItem($idproduct, $qty);
}
}
function UpdateItem($idproduct, $qty)
{
database("connect");
$idgroup = $_GET['categoriaID'];
if($qty == 0)
{
RemoveItem($idproduct);
}
else
{
mysql_query("update cart set QTY = $qty where IDCOOKIE = '" . GetCartId() . "' and IDPRODUCT = $idproduct");
}
}
function RemoveItem($idproduct)
{
database("connect");
$idgroup = $_GET['categoriaID'];
mysql_query("delete from cart where IDCOOKIE = '" . GetCartId() . "' and IDPRODUCT = $idproduct");
}
function ShowCart()
{
database("connect");
$idgroup = $_GET['categoriaID'];
$totalCost = 0;
$result = mysql_query("select * from cart inner join products on cart.IDPRODUCT = products.IDPRODUCT where cart.IDCOOKIE = '" . GetCartId() . "' order by products.DESCRIPTION asc");
?>
luego tengo una pasarela de pago
Código PHP:
<?php
include("cookies.inc");
include("instellingen.inc");
session_start();
database("connect");
$totalCost = 0;
$srt_sql ="select * from cart inner join products on cart.IDPRODUCT = products.IDPRODUCT where cart.IDCOOKIE = '" . GetCartId() . "' order by products.DESCRIPTION asc";
$result = mysql_query($srt_sql) or die("Error en el query $str_sql... Mysql dice: ".mysql_error());
while($fila = mysql_fetch_array($result))
{
$totalCost += ($fila["QTY"] * $fila["PRIJZEN_INCL"]);
}
//$totalprice= number_format(($totalCost), 2, ",", "");
$totalprice_nl= number_format((($totalCost)+($totalCost*19/100))+15, 2, ",", ".");
$totalprice_rest= number_format(($totalCost+30), 2, ",", ".");
$srt_sql ="select * from klanten where IDKLANT = '" .$_SESSION['login_session']['idklant']. "'";
$result = mysql_query($srt_sql) or die("Error en el query $str_sql... Mysql dice: ".mysql_error());
$row = mysql_fetch_assoc($result);
$klant = $row['KLANT_COMPANY'];
$land = $row['KLANT_LAND'];
if($land=="Netherlands"){
$totalprice = $totalprice_nl;
}else{
$totalprice = $totalprice_rest;}
$idklant = $_SESSION['login_session']['idklant'];
$datum = date("F j, Y, g:i a");
$srt_sql ="INSERT INTO orders
(IDKLANT, DESCRIPTION, AMOUNT, ORDER_DATE)
VALUES
('$idklant','$klant', '$totalprice', '$datum')";
mysql_query($srt_sql) or die("Error en el query $str_sql... Mysql dice: ".mysql_error());
$order = mysql_insert_id();
?>
En esta pasarela se hacen los pagos via visa o mastercard
y si ha sido el pago correcto se me redirecciona a un script llamado
succes.php
Código PHP:
include("invoice_mail.php");
session_start();
//$srt_sql ="delete from cart where IDCOOKIE = '" . GetCartId() . "'";
//mysql_query($srt_sql) or die("Error en el query $str_sql... Mysql dice: ".mysql_error());
$sql = mysql_query("select max(idorder) from orders where IDKLANT='".$_SESSION['login_session']['idklant']."'");
$row = mysql_fetch_row($sql);
$idorder =$row[0];
$status ="OK";
mysql_query("update orders set STATUS = '$status' where IDORDER = '$idorder'");
$sql = mysql_query ("select * from cart inner join products on cart.IDPRODUCT = products.IDPRODUCT where cart.IDCOOKIE = '" . GetCartId() . "'") or die ("Error en la consulta: ".mysql_error());
$filas=mysql_num_rows($sql);
if ($filas>0) {
while ($row = mysql_fetch_row($sql)){
$idproduct = $row["IDPRODUCT"];
$newstock = $row["STOCK"] - $row["QTY"];
mysql_query ("UPDATE products SET STOCK = '$newstock' WHERE IDPRODUCT = '$idproduct'");
}
} else {
echo "No se encontraron resultados o la consulta no es valida.";
}
Aqui le mando un email con la factura y aparte es donde quiero que el stock de productos se me actualize. Y esa era mi pregunta primera.
Por cierto que con las ayudas que me habeis dado tampoco funciona. Ya no me da el error que me daba pero la tabla stock no se me actualiza.
gracias
Gracias