hamidtinker
سه شنبه 12 بهمن 1400, 00:26 صبح
سلام دوستان ، چون جوابی برای سوالم ندیدم مجبور شدم اولین تاپیکم رو ایجاد کنم.
من یک جدول سفارشات ، مشتری ها و محصولات دارم.
در ابتدا کد رو میزارم که ببینید :
if ($_POST["order_code"]) {
foreach ($_POST["order_code"] as $key => $value)
{
$id = $_POST["order_code"];
$array = array(
"code" => $id[$key]
);
$array_order = implode(",",array_map("intval",$array));
$queries = 'SELECT tblorders.product_id, tblorders.order_code,
tblproducts.id, tblproducts.product_count
FROM tblorders JOIN tblproducts ON tblproducts.id =
tblorders.product_id WHERE order_code IN ( ' . $array_order . ' )
';
$pdoInstance = DBConnection::getDBConnectionInstance();
$statement = $pdoInstance->prepare($queries);
$statement->execute();
$orders = $statement->fetchAll();
foreach ($orders as $order)
{
$order_array = array(
$order["order_code"] => $order["product_count"]
);
var_dump($order_array);
}
}
}
یک توضیح در مورد کد، در صفحه سفارشات با انتخاب چک باکس ها مقادیر هر چک باکس یعنی order_code رو به صورت آرایه میگیرم و با ایجکس به php ارسال میکنم.
در انتها برای اینکه بدونم سفارشات من چند محصول داره یه حلقه زدم، اینجا زمانی که از آرایه ایجاد شده var_dump میگیرم خروجی به این شکل میشه :
array(1) { [5417736]=> string(2) "10" }
array(1) { [5417736]=> string(2) "10"
array(1) { [5417736]=> string(1) "0" }
array(1) { [1899299]=> string(2) "10" }
array(1) { [1899299]=> string(2) "10" }
کلید آرایه رو شماره سفارش و مقدارش رو تعداد محصول از جدول محصولات قرار دادم، حالا یه راهنمایی میخوام ، میخوام زمانی که مقدار یک محصول در سفارش برابر با صفر بود ، کلید مشابه هم unset بشه ، در اینجا سفارش به شماره 5417736 دارای سه تا محصول هست که تعداد یکیش صفر هست و حالا میخوام بقیه کلید های این آرایه که شامل شماره سفارش 5417736 میشه نادیده گرفته بشه ، چرا دارم این کار رو میکنم؟؟؟
اول بگم که این برای یک سیستم چند فروشندگی هست که دارم پیاده سازیش میکنم ، زمانی که مشتری یا فروشنده اقدام به ثبت یک سفارشی میکنه که داخل سفارشش یک محصول با مقدار صفر یا کمتر هست، در جدول کاستومر ستون order_lack مقدار 1 وارد میشه یعنی این سفارش دارای محصول با مقدار صفر هست ، و در پنل ادمین زمانی که میخوام سفارشات رو آماده بسته بندی کنم ، با انتخاب چک باکس ها و تغییر اکشن فرم باید بررسی کنم که تعداد محصول اضافه شده یا نه ، اگر برای هر سفارش هنوز محصول با موجودی صفر وجود داشت اون سفارشی که محصول با موجودی صفر داره نمیتونه تغییر وضعیت پیدا کنه ولی شماره سفارش بعدیش باید تغییر وضعیت بخوره.
من یک جدول سفارشات ، مشتری ها و محصولات دارم.
در ابتدا کد رو میزارم که ببینید :
if ($_POST["order_code"]) {
foreach ($_POST["order_code"] as $key => $value)
{
$id = $_POST["order_code"];
$array = array(
"code" => $id[$key]
);
$array_order = implode(",",array_map("intval",$array));
$queries = 'SELECT tblorders.product_id, tblorders.order_code,
tblproducts.id, tblproducts.product_count
FROM tblorders JOIN tblproducts ON tblproducts.id =
tblorders.product_id WHERE order_code IN ( ' . $array_order . ' )
';
$pdoInstance = DBConnection::getDBConnectionInstance();
$statement = $pdoInstance->prepare($queries);
$statement->execute();
$orders = $statement->fetchAll();
foreach ($orders as $order)
{
$order_array = array(
$order["order_code"] => $order["product_count"]
);
var_dump($order_array);
}
}
}
یک توضیح در مورد کد، در صفحه سفارشات با انتخاب چک باکس ها مقادیر هر چک باکس یعنی order_code رو به صورت آرایه میگیرم و با ایجکس به php ارسال میکنم.
در انتها برای اینکه بدونم سفارشات من چند محصول داره یه حلقه زدم، اینجا زمانی که از آرایه ایجاد شده var_dump میگیرم خروجی به این شکل میشه :
array(1) { [5417736]=> string(2) "10" }
array(1) { [5417736]=> string(2) "10"
array(1) { [5417736]=> string(1) "0" }
array(1) { [1899299]=> string(2) "10" }
array(1) { [1899299]=> string(2) "10" }
کلید آرایه رو شماره سفارش و مقدارش رو تعداد محصول از جدول محصولات قرار دادم، حالا یه راهنمایی میخوام ، میخوام زمانی که مقدار یک محصول در سفارش برابر با صفر بود ، کلید مشابه هم unset بشه ، در اینجا سفارش به شماره 5417736 دارای سه تا محصول هست که تعداد یکیش صفر هست و حالا میخوام بقیه کلید های این آرایه که شامل شماره سفارش 5417736 میشه نادیده گرفته بشه ، چرا دارم این کار رو میکنم؟؟؟
اول بگم که این برای یک سیستم چند فروشندگی هست که دارم پیاده سازیش میکنم ، زمانی که مشتری یا فروشنده اقدام به ثبت یک سفارشی میکنه که داخل سفارشش یک محصول با مقدار صفر یا کمتر هست، در جدول کاستومر ستون order_lack مقدار 1 وارد میشه یعنی این سفارش دارای محصول با مقدار صفر هست ، و در پنل ادمین زمانی که میخوام سفارشات رو آماده بسته بندی کنم ، با انتخاب چک باکس ها و تغییر اکشن فرم باید بررسی کنم که تعداد محصول اضافه شده یا نه ، اگر برای هر سفارش هنوز محصول با موجودی صفر وجود داشت اون سفارشی که محصول با موجودی صفر داره نمیتونه تغییر وضعیت پیدا کنه ولی شماره سفارش بعدیش باید تغییر وضعیت بخوره.