Привет.Когда я использую следующую функцию:
function ship_order($id, $order_items, $products)
{
$connection = mysql_open();
foreach ($order_items as $order_item)
{
foreach ($products as $product)
{
if ($order_item['product_id'] == $product['id'])
{
if ($order_item['quantity'] > $product['stock'])
{
return false;
}
}
}
}
$query = "update SEOrders " .
"set status='Shipped' " .
"where id = $id";
$result = mysql_query($query, $connection) or show_error();
foreach ($order_items as $order_item)
{
foreach ($products as $product)
{
if ($order_item['product_id'] == $product['id'])
{
$new_stock = $product['stock'] - $order_item['quantity'];
$sold_stock = $product['sold_stock'] + $order_item['quantity'];
$query = "update SEProducts " .
"set sold_stock= '$sold_stock', stock='$new_stock' " .
"where id = $id";
$result = mysql_query($query, $connection) or show_error();
}
}
}
mysql_close($connection) or show_error();
return true;
}
Иногда я получаю ошибку, которая выглядит следующим образом:
Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 176 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/home/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Notice: Undefined index: product_id in /net/export/home/public_html/wp/SE/includes/defs.php on line 196 Warning: Cannot modify header information - headers already sent by (output started at /net/export/home/public_html/wp/SE/includes/defs.php:196) in /net/export/home/public_html/wp/SE/ship_order_action.php on line 21
НО ТОЛЬКО КАЖДЫЙ СЕЙЧАС И ТО.Я понятия не имею, почему это происходит только в отдельных случаях.
Кроме того, здесь определена функция mysql_open ():
function mysql_open()
{
$connection = @ mysql_connect(HOST, USER, PASSWORD)
or die("Could not connect");
mysql_select_db(DATABASE, $connection)
or show_error();
return $connection;
}
Где HOST, USEr ... и т. Д. Определены в отдельномfile.
Переданный $ id прямо со страницы, и я проверил его.$ Order_items передается через:
function get_order_items($id)
{
$connection = mysql_open();
$query = "select oi.order_id, p.name, oi.quantity, p.stock " .
"from SEOrder_items as oi join SEProducts p on oi.product_id = p.id " .
"where oi.order_id = $id";
$result = mysql_query($query, $connection) or show_error();
mysql_close($connection) or show_error();
$order_items = array();
while ($order_item = mysql_fetch_array($result))
{
$order_items[] = $order_item;
}
return $order_items;
}
, а $ продукты передаются через:
function get_products()
{
$connection = mysql_open();
$query = "SELECT * FROM SEProducts";
$query .= " order by name asc";
$result = mysql_query($query, $connection) or show_error();
$products = array();
while ($product = mysql_fetch_array($result))
{
$products[] = $product;
}
mysql_close($connection) or show_error();
return $products;
}
В случае необходимости база данных выглядит следующим образом:
create table if not exists SEOrders
(
id int not null auto_increment primary key,
name varchar(20) not null,
address varchar(30) not null,
status varchar(10) not null,
dateShipped timestamp
)ENGINE=INNODB;
create table if not exists SEProducts
(
id int not null auto_increment primary key,
price double not null,
name varchar(30) not null,
stock int not null,
original_stock int not null,
sold_stock int not null
)ENGINE=INNODB;
create table if not exists SEOrder_items
(
id int not null auto_increment primary key,
order_id int not null,
foreign key (order_id) references SEOrders(id),
product_id int not null,
foreign key (product_id) references SEProducts(id),
quantity int not null
)ENGINE=INNODB;
По сути, я пытаюсь вычесть количество из текущего запаса, а также добавить количество к проданному запасу.Однако это не совсем работает, и время от времени я получаю ошибку, описанную выше.Но странно, что я вызову функцию несколько раз без проблем.
Заранее спасибо, JheeBz