PDA

View Full Version : سوال: مشکل با مقایسه کردن در حلقه



mahdik
جمعه 11 دی 1394, 07:44 صبح
سلام دوستان عزیز
یه مشکلی در کدم دارم ممنون میشم بهترین روش رو پیشنهاد بدید.

من دو فیلد دارم در دیتابیسم (A - B) که داخل A تعدادی ID از چند رکورد ذخیره شده و با کاما از هم جدا شدند.
حالا در فیلد B تعدادی از این ID های فیلد A ذخیره شده در اصل گلچین و یا به درخواستی ID های موجود در فیل A رو در فیلد B ذخیره کردیم .

من برای اینکه بفهمم که چه ID در فیلد B اومده باید ID های فیلد B را با فیلد A مقایسه کنم , حال در یک شرط بودن و یا نبودن ID را بررسی و از خروجی آن استفاده کنم.
کدی که من نوشتم به شرح زیره .

متاسفانه مشکل اینه که چون من نتونستم به خوبی از حلقه استفاده کنم از این روش استفاده کردم که به نظر من اصلا منطقی نیست ولی کارم را فعلا راه اندخت .
( البته تا زمانیی که ID هام بیشتر از کد من نشه که البته مشخص نیست , فعلا کار میکنه )

ممنون میشم راهنمایی بفرمایید که بهترین روش برای این کار چیه.

امیدوارم خوب توضیح داده باشم.
پیشاپیش از راهنمایی هاتون ممنون



$fild_a_list = ",15,14,13,12,11,10";$fild_b_list = ",13,11,15,14";
$fild_a = explode(",", $fild_a_list);$fild_b = explode(",", $fild_b_list); if(in_array($fild_b[0],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export0 = ",".$fild_b[0]."";}if(in_array($fild_b[1],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export1 = ",".$fild_b[1]."";}if(in_array($fild_b[2],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export2 = ",".$fild_b[2]."";}if(in_array($fild_b[3],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export3 = ",".$fild_b[3]."";}if(in_array($fild_b[4],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export4 = ",".$fild_b[4]."";}if(in_array($fild_b[5],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export5 = ",".$fild_b[5]."";}

asma69
جمعه 11 دی 1394, 08:27 صبح
سلام دوستان عزیز
یه مشکلی در کدم دارم ممنون میشم بهترین روش رو پیشنهاد بدید.

من دو فیلد دارم در دیتابیسم (A - B) که داخل A تعدادی ID از چند رکورد ذخیره شده و با کاما از هم جدا شدند.
حالا در فیلد B تعدادی از این ID های فیلد A ذخیره شده در اصل گلچین و یا به درخواستی ID های موجود در فیل A رو در فیلد B ذخیره کردیم .

من برای اینکه بفهمم که چه ID در فیلد B اومده باید ID های فیلد B را با فیلد A مقایسه کنم , حال در یک شرط بودن و یا نبودن ID را بررسی و از خروجی آن استفاده کنم.
کدی که من نوشتم به شرح زیره .

متاسفانه مشکل اینه که چون من نتونستم به خوبی از حلقه استفاده کنم از این روش استفاده کردم که به نظر من اصلا منطقی نیست ولی کارم را فعلا راه اندخت .
( البته تا زمانیی که ID هام بیشتر از کد من نشه که البته مشخص نیست , فعلا کار میکنه )

ممنون میشم راهنمایی بفرمایید که بهترین روش برای این کار چیه.

امیدوارم خوب توضیح داده باشم.
پیشاپیش از راهنمایی هاتون ممنون



$fild_a_list = ",15,14,13,12,11,10";$fild_b_list = ",13,11,15,14";
$fild_a = explode(",", $fild_a_list);$fild_b = explode(",", $fild_b_list); if(in_array($fild_b[0],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export0 = ",".$fild_b[0]."";}if(in_array($fild_b[1],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export1 = ",".$fild_b[1]."";}if(in_array($fild_b[2],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export2 = ",".$fild_b[2]."";}if(in_array($fild_b[3],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export3 = ",".$fild_b[3]."";}if(in_array($fild_b[4],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export4 = ",".$fild_b[4]."";}if(in_array($fild_b[5],array($fild_a[0],$fild_a[1],$fild_a[2],$fild_a[3],$fild_a[4],$fild_a[5]))) {$export5 = ",".$fild_b[5]."";}



سلام...من کدتون رو به شکل زیر تغییر دادم...امیدوارم مورد استفادتون قرار بگیره و مشکلتون حل شه..




<?php$fild_a_list = "15,14,13,12,11,10";$fild_b_list = "13,11,15,14";
$fild_a = explode(",", $fild_a_list);$fild_b = explode(",", $fild_b_list);
$c_a= count($fild_a);$c_b= count($fild_b);
for($i=0; $i<=$c_a-1 ; $i++){ for($j=0; $j<=$c_b-1 ; $j++) { if($fild_a[$i] == $fild_b[$j]) { echo $fild_b[$j]; echo "<br>"; } }}?>


فقط کدها اینجا پشت سرهم نمایش داده شده، موقع استفاده مرتبش کنین...

mahdik
جمعه 11 دی 1394, 13:35 عصر
سلام و خیلی ممنون با اصلاح کد شما به خطای خودم هم رسیدم
مشکل من نداشتن حلقه دوم بود .

خیلی ممنون از راهنمایی و کمکی که فرمودین.

همیشه موفق باشید

asma69
جمعه 11 دی 1394, 14:50 عصر
سلام و خیلی ممنون با اصلاح کد شما به خطای خودم هم رسیدم
مشکل من نداشتن حلقه دوم بود .

خیلی ممنون از راهنمایی و کمکی که فرمودین.

همیشه موفق باشید


خواهش میکنم...خوشحال شدم مشکلتون حل شد..ممنون..شمام موفق باشین..