ایجاد رکورد با توجه مقادیر ذخیره شده در پایگاه داده
سلام
من دو جدول دارم که شامل:
جدول 1:
و جدول 2:
روش کار:
دو رکورد در جدول یک دخیره می شود:
type |
name |
id |
user |
ali |
1 |
user |
mohammad |
2 |
حالا در جدول دو می بایست رکود به صورت زیر ذخیره شود.
name2 |
name1 |
id |
mohammad |
ali |
1 |
به همین ترتیب وقتی هر رکوردی که در جدول یک اضافه می شود بررسی می کند که آیا در جدول دو موجود است یا خیر. و در صورت موجود نبودن ذخیره می کند.
رکورد سه در جدول یک:
type |
name |
id |
user |
ali |
1 |
user |
mohammad |
2 |
user |
reza |
3 |
جدول 2:
name2 |
name1 |
id |
mohammad |
ali |
1 |
reza |
ali |
2 |
mohammad |
reza |
3 |
فقط می باست بررسی کند که این موارد تکراری نباشد.
برای مثال وقتی ali-mohammad ذخیره شده mohammad-ali یک گزینه تکراری است و نباید ذخیره کند.
پیشاپیش ممنون
نقل قول: ایجاد رکورد با توجه مقادیر ذخیره شده در پایگاه داده
سلام و روز خوش
الان این یک مسئله ترکیب آمار هست؟
یعنی جدول 2 قرار هست همه حالت های انتخاب 2 از n (n=تعدادکل nameها) باشه؟
نقل قول: ایجاد رکورد با توجه مقادیر ذخیره شده در پایگاه داده
سلام به شما
تقریبا میشه گفت بله.
حلقه ای که من نوشتم به صورت زیر هست و ذخیره سازی را انجام میده اما اون بحث تکراری بودن که انتهای سوال ذکر کردم را نتونستم حل کنم:
foreach ($names as $name) {
foreach ($names as $cu) {
if ($name->name != $cu->name) {
$wpdb->insert($table, array(
'name1' => $name->name,
'name2' => $cu->name,
));
}
}
}
نقل قول: ایجاد رکورد با توجه مقادیر ذخیره شده در پایگاه داده
من با wpdb و متدهاش آشنایی ندارم (مثل همین insert) - ولی اینجور دیده میشه که دیتابیس وردپرس باشه.
2 راه به نظر میرسه:
1- در if و قبل از insert ، با همون متدهای wpdb (که حتما چیزی شبیه select هم داره) چک کنین که این اسمها در table2 هست یا نه؟
2- در mysql یک stored procedure بنویسین که name1 و name2 رو بگیره
و table2 رو چک کنه
و اگر تکراری نبود insert کنه و true برگردونه
در اگر تکراری بود false
این یکی رو میتونم کمکتون کنم اگه مشکل داشتین.
نقل قول: ایجاد رکورد با توجه مقادیر ذخیره شده در پایگاه داده
نقل قول:
نوشته شده توسط
mazoolagh
من با wpdb و متدهاش آشنایی ندارم (مثل همین insert) - ولی اینجور دیده میشه که دیتابیس وردپرس باشه.
2 راه به نظر میرسه:
1- در if و قبل از insert ، با همون متدهای wpdb (که حتما چیزی شبیه select هم داره) چک کنین که این اسمها در table2 هست یا نه؟
2- در mysql یک stored procedure بنویسین که name1 و name2 رو بگیره
و table2 رو چک کنه
و اگر تکراری نبود insert کنه و true برگردونه
در اگر تکراری بود false
این یکی رو میتونم کمکتون کنم اگه مشکل داشتین.
ممنون از شما لطف کردید.