انتقال اطلاعات یک جدول به جدول دیگر

سلام . خسته نباشید . می خواستم بدونم چه جوری می شه اطلاعات یه جدول رو به جدول دیگه توو بانک اطلاعاتی انتقال داد ؟
من از این روش استفاده کردم اما به جای اینکه حلقه while به تعداد رکورد های موجود در جدول اولی بچرخه همیشه 2 تا کمتر از تعداد رکورد حلقه می چرخه ، یعنی اگه 5 تا رکورد توو جدول اولی باشه ، 3 بار حلقه می چرخه و 3 تا رکورد توو جدول دوم Insert می شه :

PHP:
$Table1 = $db->sql_query("SELECT * FROM `order_tmp` WHERE uid='$cookie'");
while($fetch_order_tmp = $db->sql_fetchrow($Table1))
            {
                $id = $fetch_order_tmp["id"];
                $num = $fetch_order_tmp["num"];
                $presentor = $fetch_order_tmp["presentor"];
                $product_shenaseh = $fetch_order_tmp["content"];
                $code_rahgiri = random(0,10000000,12,0,"order","code_rahgiri","code_rahgiri");
                $fetch_price = $db->sql_fetchrow($select_order_tmp);
                $price = $fetch_order_tmp["total_price"];
                $db->sql_query("INSERT INTO `table2` SET firstname='$firstname',lastname='$lastname',company='$company',office_phone='$office_phone',                home_phone='$home_phone',mobile='$mobile',email='$email',code_posti='$code_posti',address='$address',message='$message',code_rahgiri='$code_rahgiri',ostan='$ostan',city='$city',num='$num',presentor='$presentor',price='$price',product_shenaseh='$product_shenaseh',send_type='$sendtype',time='$time'");
            }

ممنون می شم اگه راهنمایی کنید . :rose:
 

sajadmaz

Member
num rows تیبلت رو بشمار ببین چند نشون میده تو همین اسکریپت اگه درست نشون داد بجای fech توی while از numRows استفاده کن
 
سلام . num_rows درست نشون می ده . اما وقتی توو While می ذارم شرطش واسه همیشه True می مونه و حلقه بی نهایت بار تکرار می شه !!!
PHP:
$Table1 = $db->sql_query("SELECT * FROM `order_tmp` WHERE uid='$cookie'");
while($num_rows = $db->sql_numrows($Table1))
            {
                $fetch_order_tmp = $db->sql_fetchrow($Table1);
                $id = $fetch_order_tmp["id"];
                $num = $fetch_order_tmp["num"];
                $presentor = $fetch_order_tmp["presentor"];
                $product_shenaseh = $fetch_order_tmp["content"];
                $code_rahgiri = random(0,10000000,12,0,"order","code_rahgiri","code_rahgiri");
                $fetch_price = $db->sql_fetchrow($select_order_tmp);
                $price = $fetch_order_tmp["total_price"];
                $db->sql_query("INSERT INTO `table2` SET firstname='$firstname',lastname='$lastname',company='$company',office_phone='$office_phone',                home_phone='$home_phone',mobile='$mobile',email='$email',code_posti='$code_posti',address='$address',message='$message',code_rahgiri='$code_rahgiri',ostan='$ostan',city='$city',num='$num',presentor='$presentor',price='$price',product_shenaseh='$product_shenaseh',send_type='$sendtype',time='$time'");
            }
 
آخرین ویرایش:

I.NoBody

Active Member
اگر می خوای عین اطلاعات جدول اول رو توی جدول دوم کپی کنی، نیازی به PHP نیست و با یک کوئری می تونی این کار رو بکنی.
فکر کنم این بشه :
کد:
INSERT INTO table2 (SELECT * FROM table1)
 

Omid PLUS

Member
سلام . num_rows درست نشون می ده . اما وقتی توو While می ذارم شرطش واسه همیشه True می مونه و حلقه بی نهایت بار تکرار می شه !!!

خب این به خاطر اینه که شما تو شرط while تعداد row ها رو گذاشتی، و این تعداد کم نمیشه!
باید از خوندن row ها استفاده کنی مثل این:

PHP:
$Table1 = $db->sql_query("SELECT * FROM `order_tmp` WHERE uid='$cookie'");
while($fetch_order_tmp = $db->sql_fetchrow($Table1))
            {
                $id = $fetch_order_tmp["id"];
                $num = $fetch_order_tmp["num"];
                $presentor = $fetch_order_tmp["presentor"];
                $product_shenaseh = $fetch_order_tmp["content"];
                $code_rahgiri = random(0,10000000,12,0,"order","code_rahgiri","code_rahgiri");
                $fetch_price = $db->sql_fetchrow($select_order_tmp);
                $price = $fetch_order_tmp["total_price"];
                $db->sql_query("INSERT INTO `table2` SET firstname='$firstname',lastname='$lastname',company='$company',office_phone='$office_phone',                home_phone='$home_phone',mobile='$mobile',email='$email',code_posti='$code_posti',address='$address',message='$message',code_rahgiri='$code_rahgiri',ostan='$ostan',city='$city',num='$num',presentor='$presentor',price='$price',product_shenaseh='$product_shenaseh',send_type='$sendtype',time='$time'");
            }

اینجوری تو حلقه گیر نمیکنه!
 

جدیدترین ارسال ها

بالا