1 ضمیمه
دریافت یک مقدار از از بین چند رکورد
سلام و عرض ادب
طبق فایل پیوست شده میخواهم به کاربری که دو محصول در یک فاکتور سفارش داده ایمیل بزنم
ستون product_name که دو محصول هست قراره ایمیل بشه به ایمیل کاربر , موجود در ستون ایمیل
ولی اینجور 2 بار ایمیل میره
از دستور group_by در sql استفاده کردم ولی یک رکورد حذف میکنه
میخوام کل همین دو رکورد گرفته بشه , ولی ستون ایمیل که تکراری هست فقط یک مقدار فراخوانی بشه
با تشکر
نقل قول: دریافت یک مقدار از از بین چند رکورد
شما میخوای کل محصولاتی که یک کاربر مثلا علی سفارش داده رو لیست کنی بعد به ایمیل علی یک ایمیل بزنی؟ تا اینجا درست فهمیدیم؟
حالا شما هر کالایی که علی سفارشه میده ایمیلش هم در یک رکورد که اسم کالا هم هست ثبت میشه؟ درسته؟
اگر این جوری که من متوجه شدم باشه شما میتونی خیلی راحت بگی آدرس ایمیل موجود در آخرین رکورد فاکتور را استخراج کنه و فقط به همون یک دونه ایمیل فرستاده بشه
اینجوری
$select_factor=mysql_query("SELECT * FROM `TABAL` WHERE `USER`='ALI' ORDER BY `id` DESC");
$fetch_factor=mysql_fetch_assoc($select_facto);
echo $email=$fetch_factor['email'];
نقل قول: دریافت یک مقدار از از بین چند رکورد
نقل قول:
شما میخوای کل محصولاتی که یک کاربر مثلا علی سفارش داده رو لیست کنی بعد به ایمیل علی یک ایمیل بزنی؟ تا اینجا درست فهمیدیم؟
بله دقیقا میخوام محصولاتی که علی در یک فاکتور سفارش داده برام بیارن
اینم کد sql
در نظر بگیرید ستون ایمیل تکراری هست و هر دو محصول علی سفارش داره با یک ایمیل
حالا میخوام دو رکورد بگیرم و تنها یک ایمیل بتونم در خروجی داشته باشم
SELECT
ps_orders.reference , ps_orders.id_order , ps_orders.date_add ,
developer_email_send_comment.code_peygiri_order , developer_email_send_comment.message ,
ps_order_detail.id_order , ps_order_detail.product_name , ps_order_detail.product_id ,
ps_customer.id_customer , ps_customer.lastname , ps_customer.firstname , ps_customer.email
FROM ps_orders
LEFT JOIN developer_email_send_comment
ON ps_orders.reference = developer_email_send_comment.code_peygiri_order
INNER JOIN ps_order_detail
ON ps_orders.id_order = ps_order_detail.id_order
INNER JOIN ps_customer
ON ps_orders.id_customer = ps_customer.id_customer
WHERE developer_email_send_comment.code_peygiri_order IS NULL
AND
Date(ps_orders.date_add) > '2017-02-15 00:00:00'
نقل قول: دریافت یک مقدار از از بین چند رکورد
دیتابیس اینجوری کار نمیکنه
اینکار رو باید با کد نویسی php انجام بدی که البته خیلی سادست
البته به نظر میاد که ساختار دیتابیس شما مشکل داره کلا و درست طراحی نشده
اینجا رو بخون
https://barnamenevis.org/showthread.p...=1#post2361928
1 ضمیمه
نقل قول: دریافت یک مقدار از از بین چند رکورد
دیتابیس پیوست کردم
اینم sql کامل جهت گذارش گیری
SELECT
ps_orders.reference , ps_orders.id_order , ps_orders.date_add ,
ps_order_detail.id_order , ps_order_detail.product_name , ps_order_detail.product_id ,
ps_customer.id_customer , ps_customer.lastname , ps_customer.firstname , ps_customer.email
FROM ps_orders
INNER JOIN ps_order_detail
ON ps_orders.id_order = ps_order_detail.id_order
INNER JOIN ps_customer
ON ps_orders.id_customer = ps_customer.id_customer
میخوام ایمیل یکبار فراخوانی بشه و دو محصول در ستون product_name براش ایمیل بشه
دستور group_by هم میزنم یک رکورد کلا حذف میکنه در گذارش گیری!