PDA

View Full Version : سوال: مقایسه و درج در جدول



soroush.r70
جمعه 24 مرداد 1393, 21:57 عصر
من یه بخشی در سایت خودم که مشتری میاد تقاضای ملک خودشو ثبت می کنه و در جدول tbl_taghaza ثبت میشه و تمامی املاک در جدول tbl_melk ثبت میشن حالا من میخوام وقتی رکورد جدول تقاضا با جدول املاک یکی بود بیاد و در جدول دیگه ای به tbl_sms ثبت بشه و وقتی رکورد تقاضای ملک شبیهش در جدول املاک بود فیلد active در جدول تقاضای ملک که به طور پیش فرض 0 هست و یک کنه که منظور همچین چیزی پیدا شده و وقتی پیدا شده 1 رو درج کنه حالا من به صورت زیر یه خورده پیش رفتم که جواب نمیده ممنون میشم دوستان راهنمایی کنن


$class=new content;
$sql =$class->query('SELECT * FROM `tbl_taghaza` where `active`=:active ');
$class->bind(':active','0');
$row=$class->resultset();
foreach($row as $key => $value)
{
$id=$row['id'];
$fullname=$row['fullname'];
$username=$row['username'];
$mobile=$row['mobile'];
$email=$row['email'];
$group=$row['group'];
$ostan=$row['ostan'];
$shahrestan=$row['shahrestan'];
$city=$row['city'];
$mantaghe=$row['mantaghe'];
$noomelk=$row['noomelk'];
$metrazh=$row['metrazh'];
$foroshmoney=$row['foroshmoney'];
$vadiemoney=$row['vadiemoney'];
$ejaremoney=$row['ejaremoney'];
}
$class->query('select * from `tbl_melk` where `group` like ? and `ostan` like ? and `shahrestan` like ? and `city` like ? and `mantaghe` like ? and `melktype` like ? or ( `metrazh` like ? or `foroshmoney` like ? or `vadiemoney` like ? or `ejaremoney` like ?) ');
$class->bind(1,"%$group%");
$class->bind(2,"%$ostan%");
$class->bind(3,"%$shahrestan%");
$class->bind(4,"%$city%");
$class->bind(5,"%$mantaghe%");
$class->bind(6,"%$noomelk%");
$class->bind(7,"%$metrazh%");
$class->bind(8,"%$foroshmoney%");
$class->bind(9,"%$vadiemoney%");
$class->bind(10,"%$ejaremoney%");
$class->execute();
if(!$class->rowCount() == 0)
{
$row=$class->single();
$codemelk=$row['codemelk'];
$sabt=$class->query('insert into `tbl_sms` (`id`,`codemelk`,`fullname`,`mobile`,`username`,`e mail`) values (NULL,?,?,?,?,?) ');
$class->bind(1,!is_null($codemelk) ? $codemelk :'');
$class->bind(2,!is_null($fullname) ? $fullname :'');
$class->bind(3,!is_null($mobile) ? $mobile :'');
$class->bind(4,!is_null($username) ? $username :'');
$class->bind(5,!is_null($email) ? $email :'');
$class->execute();
}
else
{
$class->query("UPDATE `tbl_taghaza` SET
`active` = :active
where `id`=:id ");
$class->bind(':active','1');
$class->bind(':id',$id);
$class->execute();
}

soroush.r70
شنبه 25 مرداد 1393, 18:24 عصر
کسی از دوستان نمیدونه چیکار میشه کرد؟

bagherok
شنبه 25 مرداد 1393, 20:30 عصر
کسی از دوستان نمیدونه چیکار میشه کرد؟

یه بار توضیح بدبد که چیکار کردید!
تابهتر بشه راهنمایی کرد

soroush.r70
شنبه 25 مرداد 1393, 22:14 عصر
من یه جدول دارم به نام tbl_melk که تمامی املاک داخلش ثبت میشن
یک صفحه دارم به نام تقاضای ملک که مشتری میاد ملکی که میخوادو ثبت میکنه و در جدول tbl_taghaza ثبت میشه
حالا من میخوام وقتی مشتری تقاضایی ثبت کرد بیاد جستجو انجام بشه که رکوردهایی که داخل tbl_taghaza ثبت شد با کدوم رکورد داخل جدول tbl_melk یکی هست و هر یک از رکوردها در دو جدول با هم یکی بودن بیاد در جدول tbl_sms کد ملک مربوط به اون رکوردی که در جدول tbl_melk هستش با جدول tbl_taghaza یکی بود درج کنه در جدول tbl_sms

bagherok
شنبه 25 مرداد 1393, 23:07 عصر
منظورم کدتون بود.


خوب این جستجو در دو حالت میتونه اتفاق بیافته
وقتی اطلاعات رو از مشتری دریافت کردیم و در جدول تقاضا ثبت شد
بلافاصله یه جستجو در جدول املاک انجام میدیم تا به ازای هر جستجوی موفق یه رکورد به جدول اسمس اضافه بشه.

ویا وقتی ملکی ثبت شد
بلافاصله یه جستجو در جدول تقاضا انجام مدیم تا به ازای هر جستجوی موفق یه رکورد به جدول اسمس اضافه بشه.

واین اسمس ها هام میتونه همون موقع که جستجو انجام میشه فرستاده شه یا بصورت دوره ای یه اسکریپت اینکار رو انجام بده و
یا خودتون بصورت دستی اینکار رو انجام بدین

soroush.r70
شنبه 25 مرداد 1393, 23:47 عصر
تو کد بالا هم اومدم اطلاعات رو از جدول tbl_taghaza خوندم بعد با حدول tbl_melk مقایسه کردم و در آخر هم ریختم تو جدول tbl_sms
که مشکل داره انجام نمیده

soroush.r70
یک شنبه 26 مرداد 1393, 16:12 عصر
نمیشه دوستان؟

bagherok
یک شنبه 26 مرداد 1393, 18:21 عصر
تو کد بالا هم اومدم اطلاعات رو از جدول tbl_taghaza خوندم بعد با حدول tbl_melk مقایسه کردم و در آخر هم ریختم تو جدول tbl_sms
که مشکل داره انجام نمیده


1:دریافت اطلاعات ورودی

$fullname= $_GET['fullname'];
$username= $_GET['username'];
$mobile= $_GET['mobile'];
$email= $_GET['email'];
$group= $_GET['group'];
$ostan= $_GET['ostan'];
$shahrestan= $_GET['shahrestan'];
$city= $_GET['city'];
$mantaghe= $_GET['mantaghe'];
$noomelk= $_GET['noomelk'];
$metrazh= $_GET['metrazh'];
$foroshmoney= $_GET['foroshmoney'];
$vadiemoney= $_GET['vadiemoney'];
$ejaremoney= $_GET['ejaremoney'];

2:ثبت درخواست در جدول تقاضا

$class->query('INSERT INTO `tbl_taghza` (`id`,`fullname`,`username`,`mobile`,`email`,`grou p`,`osta`,`shahrestan`,`city`,`mantaghe`,`noomelk` ,`foroshmoney`,`foroshmoney`,`vadiemoney`,`ejaremo ney`,`active`,`qty`) values (NULL,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)');
$class->bind(1,$fullname);
$class->bind(2,$username);
$class->bind(3,$mobile);
$class->bind(4,$email);
$class->bind(5,$group);
$class->bind(6,$ostan);
$class->bind(7,$shahrestan);
$class->bind(8,$city);
$class->bind(9,$mantaghe);
$class->bind(10,$noomelk);
$class->bind(11,$metrazh);
$class->bind(12,$foroshmoney);
$class->bind(13,$vadiemoney);
$class->bind(14,$ejaremoney);
$class->bind(15,0);
$class->bind(16,0);
$class->execute();


3:جستجو در جدول املاک وبقیه ماجرا!

//جستجو در جدول املاک
$class->query('select * from `tbl_melk` where (`group` like ? and `ostan` like ? and `shahrestan` like ? and `city` like ? and `mantaghe` like ? and `melktype` like ? or ( `metrazh` BETWEEN ? AND ? or `foroshmoney` BETWEEN ? AND ? or `vadiemoney` BETWEEN ? AND ? or `ejaremoney` BETWEEN ? AND ?)');
$class->bind(1,"%$group%");
$class->bind(2,"%$ostan%");
$class->bind(3,"%$shahrestan%");
$class->bind(4,"%$city%");
$class->bind(5,"%$mantaghe%");
$class->bind(6,"%$noomelk%");
$class->bind(7,$metrazh-10);
$class->bind(8,$metrazh+10);

$foroshmoneyhigh=$foroshmoney +($foroshmoney%10);//ده درصد بالای تر از قیمت پیشنهادی
$foroshmoneylow=$foroshmoney +($foroshmoney%10);//ده درصد پایین تر از قیمت پیشنهادی
$class->bind(9,$foroshmoneyhigh);
$class->bind(10,$foroshmoneylow);

$vadiemoneyhigh=$vadiemoney +($vadiemoney%10)
$vadiemoneylow=$vadiemoney +($vadiemoney%10)
$class->bind(11,$vadiemoneyhigh);
$class->bind(12,$vadiemoneylow);

$ejaremoneyhigh=$ejaremoney +($ejaremoney%10)
$ejaremoneylowlow=$ejaremoney +($ejaremoney%10)
$class->bind(13,$ejaremoneyhigh);
$class->bind(14,$ejaremoneylow);

$class->execute();


if(!$class->rowCount() == 0){
$rows=$class->resultset();
$qty=0;
foreach($rows as $row){
$codemelk=$_GET['codemelk'];
$sabt=$class->query('insert into `tbl_sms` (`id`,`codemelk`,`fullname`,`mobile`,`username`,`e mail`) values (NULL,?,?,?,?,?) ');
$class->bind(1,!is_null($codemelk) ? $codemelk :'');
$class->bind(2,!is_null($fullname) ? $fullname :'');
$class->bind(3,!is_null($mobile) ? $mobile :'');
$class->bind(4,!is_null($username) ? $username :'');
$class->bind(5,!is_null($email) ? $email :'');
$class->execute();
$qty++;
$class->query("UPDATE `tbl_taghaza` SET
`active` = :active ,`qty` = :qty
where `id`=:id ");
$class->bind(':active','1');
$class->bind(':id',$id);
$class->bind(':qty',$qty);
$class->execute();
}


}

soroush.r70
دوشنبه 03 شهریور 1393, 11:09 صبح
ممنون دوست عزیز ممنون فقط در مورد فیلدهای متراژ و قیمت و فروش و رهن و اجاره چطور باید فیلدها باشه در کد بالا چون کد بالا جواب نمیده مرسی

soroush.r70
چهارشنبه 05 شهریور 1393, 18:04 عصر
کسی از دوستان نیست راهنمایی کنه؟