ذخیره پست متناسب با نوع منو
من در فرم ارسال پستم فقط یک باکس برای نمایش منو والد داشتم که با توجه به انتخابی که کاربر داشت در دیتابیس ذخیره میشد
به این صورت
$cat_id = CheckNum($_POST["category"]);
حالا فرم رو ارتقا دادم و با انتخاب منو والد فرزندان اون هم در باکس جداگانه نمایش داده میشن
سوال: حالا چطور باید کدم رو تغییر بدم که در صورتی که منو انتخاب شد و فرزند داشت id فرزند برای اون پست منظور بشه نه id پدر؟؟؟
نقل قول: ذخیره پست متناسب با نوع منو
نقل قول: ذخیره پست متناسب با نوع منو
کسی پیدا نشد ما رو راهنمایی بکنه
نقل قول: ذخیره پست متناسب با نوع منو
سوالم گنگ هست یا اینکه کسی نمیتونه راهنمایی کنه یا اینکه ...
نقل قول: ذخیره پست متناسب با نوع منو
سوال مبهمه...
اون باکسهایی که گفتید رو چطور نمایش میدین مثلا اگر والدی انتخاب شد و یک فرزند داشت و باز این فرزند 3 فرزند دیگه داشت هرکدوم از این باکسها رو چطور نشون میدین؟
نقل قول: ذخیره پست متناسب با نوع منو
من فرض رو بر این گذاشتم که فرزند ها نتونن والد باشن
نقل قول: ذخیره پست متناسب با نوع منو
امیدوارم با این توضیح کسی پیدا بشه کمک کنه
من در پنل مدیریت در قسمت ارسال مطلب یک باکس دارم که منویی که قرار پست به اون تعلق بگیره رو کاربر مشخص میکنه در صورتی که منو انتخابی شامل زیر منو باشه یک باکس دیگه به صورت ایجکسی کنارش باز میشه که زیر منو های اون رو نشون میده
جدول منوهای من در دیتابیس به این صورت هست که اگر parent عدد 0 داشته باشه شامل فرزند نیست و در غیر این صورت شماره پدر رو در parent دریافت میکنه
در جدول پست در دیتابیس هم فقط شماره آیدی مربوط به منو رو دریافت میکنه
خب تا اینجا که فکر میکنم همه چی واضح بود
حالا سوال من اینه که من میخام اگر باکس منویی که انتخاب شد شامل فرزند بود و باکس جدید باز شد آیدی باکس دوم ذخیره شه و اگر فرزند نداشت آیدی باکس اول ذخیره بشه
نقل قول: ذخیره پست متناسب با نوع منو
خوب حالا تقریبا میشه فهمید چکار میخواید بکنید...
یه متغیر باید داشته باشید که هربار که یک باکس جدید اضافه میشه از طریق کدهای ایجکس id اون باکس رو بذاره تو این متغیر با این کار آخرین باکسی که نمایش داده شده id اون رو ریختیم توی این متغیر و بنابراین id آخرین باکس رو همیشه داریم...
نقل قول: ذخیره پست متناسب با نوع منو
نقل قول:
نوشته شده توسط
H:Shojaei
خوب حالا تقریبا میشه فهمید چکار میخواید بکنید...
یه متغیر باید داشته باشید که هربار که یک باکس جدید اضافه میشه از طریق کدهای ایجکس id اون باکس رو بذاره تو این متغیر با این کار آخرین باکسی که نمایش داده شده id اون رو ریختیم توی این متغیر و بنابراین id آخرین باکس رو همیشه داریم...
میشه با استفاده از کد توضیح بدین
نقل قول: ذخیره پست متناسب با نوع منو
کدم به این صورت هست
<select name="category" id="menu" onchange="show_subMenu()">
<option value="">یک منو را انتخاب کنید</option>
<?php
$tblmenu=$db->fetch_all("SELECT * FROM tbl_category WHERE `parent_id`=0");
foreach($tblmenu as $tblmenu)
{
echo '<option value="'.$tblmenu['id'].'">'.$tblmenu['menu'].'</option>';
}
?>
</select>
<div class="form-group" id="submenu">
</div>
function show_subMenu()
{
$.post('post/html.php',{menuid:$("#menu").val()}
,function(response)
{
$("#submenu").html(response);
});
}
if(isset($_POST['menuid'])&&!empty($_POST['menuid']))
{?>
<div class="col-lg-6">
<select id="submenu">
<option value="">یک زیر منو را انتخاب کنید</option>
<?php
$tblzirmenu=$db->fetch_all("SELECT * FROM tbl_category WHERE `parent_id`=".$_POST['menuid']."");
foreach($tblzirmenu as $tblzirmenu)
{
echo '<option value="'.$tblzirmenu['id'].'">'.$tblzirmenu['menu'].'</option>';
}
?>
</select>
</div>
<?php } ?>
نقل قول: ذخیره پست متناسب با نوع منو
نقل قول: ذخیره پست متناسب با نوع منو
سناریویی که این کار رو انجام مبدین واسه این مورد درست نیست...
شما باید این تگ select رو که توی فایل php میسازید رو توی javascript قسمت ajax اون رو بسازید...
به این صورت که dataType تابع ajax رو برابر با json میذارید و دیتاها گه همون دیتاهای سلکت هستن و به صورت آرایه از دیتابیس توی فایل php میگیرید رو json_encode کنید و توی صفحه echo کنید...
و اینجا هربار که این سلکت ساخته میشه همونطور که گفتم توی بخش ajax همه اطلاعات این سلکت رو دارید دیگه id اون رو میذاریم توی یک متغیر تا بفهمیم آخرین سلکتی که گرفتیم id اون چی بوده و ازش استفاده کنیم...
یه مثال از کدهای خودم میزنم ببینید:
$.ajax({
url: URL + 'ajaxes/newGroup.php',
type: 'post',
data: {/*data*/},
dataType: 'json',
success: function (data) {
var latestSelectId=data['selectId'];
for(/*peymayeshe data*/)
{
//create select tag
}
}
});
$posts=$sqlOPR->select('posts',);
echo json_encode($posts);