Jump to content

Updating MYSQL Data via PHP Webservice Call


PeterFrank

Recommended Posts

Hello, I'm hoping someone may be able to help me.

 

I have a php shopping cart (zen cart to be exact) and I have a web service that someone helped me write to allow retrieval of data from the MYSQL database to be used by an external website built in .net (I am a .net developer).

 

Anyway, the current web service only allows "reading" of data which is working fine, however now I would like to add an extra function that would allow the external site to update the stock levels in the Zen Cart's mysql database via a web service call.

 

This is what I have curently : 

<?php
require 'includes/configure.php';
error_reporting(0);
class stephin 
{

	function __construct($hostname,$dbuser,$dbpass,$dbname) {
		global $config; 
		if(!$this->dblink) {
			if($this->dblink=mysql_connect($hostname,$dbuser,$dbpass)){
				if(mysql_select_db($dbname,$this->dblink)){
					return $this->dblink;
				}else{
					die("Database cant be selected.");
					return false;				
				}
			}
			else{
				die("No database connection");
				return $this->dblink;
			}
		}
		else{
			return $this->dblink;
		}		
	}	

	function select($query){
		$result2=mysql_query($query,$this->dblink);
		$result3=mysql_num_rows($result2);
		if($result3 > 0){
			while($row=mysql_fetch_object($result2)){
				if($row){
					$result[] = $row;
				}
			}
			return $result;
		}
		return false;
	}
}
$db = new stephin(DB_SERVER,DB_SERVER_USERNAME,DB_SERVER_PASSWORD,DB_DATABASE);
$id=$_GET[id];
$action=$_GET[action];
if($action=="GetProductDetails")
{
$data=$db->select("select zen_products_description.products_id,zen_products.products_model,zen_products_description.products_name,zen_products.products_status,zen_products.products_price,zen_products.products_quantity,zen_products.products_weight,zen_products.product_is_always_free_shipping as free_shipping,zen_products.products_sort_order as sort_order,zen_products.master_categories_id as categories_id,zen_products_description.products_description,zen_products.products_image  from zen_products_description inner join zen_products on zen_products.products_id= zen_products_description.products_id  where zen_products.products_id=$id");
}
if($action=="GetProductList")
{
$data=$db->select("select zen_products_description.products_id,zen_products.products_model,zen_products_description.products_name,zen_products.products_status,zen_products.products_quantity,zen_products.products_price,zen_products.products_weight,zen_products.products_sort_order as sort_order,zen_products.master_categories_id as categories_id  from zen_products_description inner join zen_products on zen_products.products_id= zen_products_description.products_id order by zen_products_description.products_id");
}
echo json_encode($data);
?>

I have figured out that I will need something like this:

$prod_id = $_GET['prod_id'];
$prod_qty = $_GET['prod_qty'];

$sql = "UPDATE zen_products SET products_quantity = $prod_qty WHERE products_id = $prod_id" ;

mysql_select_db('test_db');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not update data: ' . mysql_error());
}
echo "Updated data successfully\n";
mysql_close($conn);
}

But I am just not sure how to glue it together with the existing code I have.

 

In addition I would also like to make sure that the quantity cannot be updated to a value less than zero.

 

Obviously I also have security issues to consider but I will worry about that once I can get this working.

 

Thanks in advance.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.