PDA

View Full Version : سوال: نحوه ذخیره کردن چندین فیلدمتفاوت در دیتابیس



siavash82ir
پنج شنبه 18 اسفند 1390, 18:49 عصر
سلام دوستان من میخواهم این فرم را در دیتابیس ذخیره کنم، این فرم را برای یک فروشگاه دارم طراحی میکنم که مدیر سایت بتونه با یک سرچ کالاهایی که میخواهد را از دیتابیس میکشد بیرون و فقط دوتا فیلد برای قیمت کالا در فرم وجود دارد با اینکار مدیر سایت هر وقت بخواهد میتواند خیلی سریع قیمت کالاهای خود را تغییر دهد حالا همونطور که میبینین نام فیلدها متفاوت و هر یک برای یک رکورد متفاوتی در دیتابیس هست برای همین برای نوشتن تابع دوم که اطلاعات این فرم را ذخیره کنه مشکل دارم
ممنون میشوم کمکم کنید.
لطفا راهنمایی کامل باشه



$sqltotal = "select id_ads,model,namedastgah,desckotah,price1,price2 from ".$prefix."_nukec_ads_ads where";
$sqltotal .= " (model LIKE '%".$query."%' or namedastgah LIKE '%".$query."%' or desckotah LIKE '%".$query."%')";
$reslist = $db->sql_query($sqltotal);
///////////////////////////////////////////////////////////

echo "<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" bordercolor=\"#cccccc\">
<form name='search' action='".$admin_file.".php?op=gheymatUpdate' method='post'>";
echo "<TR bgcolor='#FFFF99'>\n"
."<TD width=\"10%\" height='30' align=\"center\"><b>ردیف</b></td>\n"
."<TD width=\"40%\" height='30' align=\"center\"><b>نام کالا</b></td>\n"
."<TD width=\"20%\" align=\"center\"><b>قیمت اصلی</b></td>\n"
."<TD width=\"20%\" align=\"center\"><b>قیمت فرعی</b></td>"
."<TD width=\"10%\" align=\"center\"><b>ویرایش</b></td>\n"
."</tr>";
while (list($id_ads,$model,$namedastgah,$desckotah,$pric e1,$price2) = $db->sql_fetchrow($reslist)) {
$i++;
echo "<TR onMouseOver=\"this.style.background='#cfcfcf'\" onMouseOut=\"this.style.background=''\">\n";
echo "<td align=\"center\" height='30' style='border-bottom:1px solid #ff6600; '>".$i."</td>\n";
echo "<td align=\"center\" height='30' style='border-bottom:1px solid #ff6600; '>".$namedastgah."</td>\n";
echo "<td align=\"center\" style='border-bottom:1px solid #ff6600; '>
<input name='price1_".$id_ads."' type='text' value='".$price1."' size='18' style='text-align:center; '></td>\n";
echo "<td align=\"center\" style='border-bottom:1px solid #ff6600; '>
<input name='price2_".$id_ads."' type='text' value='".$price2."' size='18' style='text-align:center; '></td>\n";
echo "<td align=\"center\" style='border-bottom:1px solid #ff6600; '><input name='checkedit_".$id_ads."' type='checkbox' value=\"0\"></td>\n";
echo "</tr>";
}
echo "<TR><td colspan='5' height='30'><hr><input name='id_ads' type='hidden' value='".$id_ads."'></td></tr>";
echo "<TR>\n";
echo "<td colspan='4' align='right'>
<font style='font-size:9pt; '>پس از آنکه قیمت کالای مورد نظر را تغییر دادید، گزینه روبروی آن را تیک زده و سپس بروی ثبت تغییرات کلیک کنید.<br>
قیمت اصلی، قیمتی است که پس از سفارش در سبد خرید کاربر نیز منظور میشود.</font></td>\n";
echo "<td align=\"center\"><input type='submit' value=' ثبت تغییرات ' name='submit' style='border:1px solid #ff6600; '></td>\n";
echo "</tr>";
echo "</form>";
echo "</table>";

hightech
پنج شنبه 18 اسفند 1390, 22:00 عصر
شما فرمتون رو خیلی پیچیده طراحی کردید
میتونستید براحتی با AJAX پیادش کنید
اما برای حل مشکل شما:
اول از همه مقدار چک باکسها رو 1 کنید
بعد از اون، این کد رو استفاده کنید


$prices = Array();
foreach($_POST as $key => $val){
if(substr($key,0,10) == "checkedit_" && $val == 1){
$id = substr($key,10);
$prices[$id][price1] = $_POST["price1_$id"];
$prices[$id][price2] = $_POST["price2_$id"];
}
}

siavash82ir
جمعه 19 اسفند 1390, 13:34 عصر
hightech جان واقعا ممنونم ازت خیلی خیلی خیلی خیلی ممنوننننن
کدی که دادی رو گذاشتم و درست و دقیقا همونی بود که میخواستم....
بازم ممنونم ازت خیلی لطف کردی.

در مورد آجاکس هم بلد نیستم. :دی

siavash82ir
جمعه 19 اسفند 1390, 13:38 عصر
فقط میشه یکم در مورد این قسمت ها برام توضیح بدی؟
این arraye چیکار میکنه؟
و یکمم در مورد اون تابع foreach
همین
مرسی :لبخندساده:


$prices = Array();
foreach($_POST as $key => $val){