mohammad zekri
2 سال پیش توسط mohammad zekri مطرح شد
2 پاسخ

ارسال 2 value با یک select option

سلام دوستان وقت بخیر

من دارم روی یک موضوعی کار میکنم که در این بخش باید زمان رو سمت دیتابیس ارسال کنم و تو کلوم ثبت کنم

یکی expiredate و یکی هم deletedate هستش

expiredate زمان 1 ماه دیگه رو باید ذخیره بشه
deletedate باید زمان 33 روز بعد ذخیره بشه

من با دستور های زیر دارم زمان رو به جلو میبرم

$expiredate = date('Y-m-d H:i', strtotime("+30 days"));  
$deletedate = date('Y-m-d H:i', strtotime("+33 days"));  

, و سمت دیتابیس ارسال میکنم و ذخیره میشه

حالا کارفرما میگه میخوام ی select option برام بزاری وقتی زدی 1 ماه زمان +30 بشه
زدی 2 ماه زمان +60 بشه و ...
به همین ترتیب باید deletedate هم باید برای 1 ماه +33 و برای 2 ماه +66 بشه

میخواستم ببینم آیا امکانش هست با select option دو تا value برای 2 تا column مختلف ارسال کنم ؟
یا راه دیگه ای رو پیشنهاد میدید ؟


ثبت پرسش جدید
mohammad zekri
@mohammad.zekri.1991 2 سال پیش آپدیت شد
0

والا نشد باهاش این کارو بکنم
مطمنا از بی تجربگی منه
ولی برای این موردم این کارو انجام دادم
چون 2 تا زمان رو باهم میخواستم بفرستم و هرکدوم از زمان ها برام جداکانه مهم بود و باید با ی مقداری از دیتابیسم بررسی مشد و نتیجه جدید رو ثبت میکرد این کارو انجام دادم
اول اینکه میخواستم ی منو رو اایجاد کنم که تاریخ اعتبار بده بر اساس زمان های ثابت و باید با date همین الان جمع میشد بایت همین زمان رو به این صورت نوشتم

$montly1 = date('Y-m-d H:i', strtotime($date. ' + 30 days'));  
$montly2 = date('Y-m-d H:i', strtotime($date. ' + 60 days'));  
$montly3 = date('Y-m-d H:i', strtotime($date. ' + 90 days'));  
$montly4 = date('Y-m-d H:i', strtotime($date. ' + 120 days'));  
$montly5 = date('Y-m-d H:i', strtotime($date. ' + 150 days'));  
$montly6 = date('Y-m-d H:i', strtotime($date. ' + 180 days'));  

بعد نیاز داشتم که هر زمانی رو به علاوه 3 روز کنم و تو ی متغییر دیگه بنویسمش که این شکلی شد

$montlydel1 = date('Y-m-d H:i', strtotime($montly1. ' + 3 days'));  
$montlydel2 = date('Y-m-d H:i', strtotime($montly2. ' + 3 days'));  
$montlydel3 = date('Y-m-d H:i', strtotime($montly3. ' + 3 days'));  
$montlydel4 = date('Y-m-d H:i', strtotime($montly4. ' + 3 days'));  
$montlydel5 = date('Y-m-d H:i', strtotime($montly5. ' + 3 days'));  
$montlydel6 = date('Y-m-d H:i', strtotime($montly6. ' + 3 days'));

بعدش اومدم 2 تا option باهم نوشتم که باهم مقایسه بشن و مقدارشو تو هرکدوم از value ها نوشتم

<select id="sel1" class="form-control" name="expiredateupdate" onchange="giveSelection(this.value)">  
<option>ماهانه</option>  
<option value="<?php print $montly1;?>"> سرویس 1 ماهه</option>  
<option value="<?php print $montly2;?>"> سرویس 2 ماهه</option>  
<option value="<?php print $montly3;?>"> سرویس 3 ماهه</option>  
<option value="<?php print $montly4;?>"> سرویس 4 ماهه</option>  
<option value="<?php print $montly5;?>"> سرویس 5 ماهه</option>  
<option value="<?php print $montly6;?>"> سرویس 6 ماهه</option>  
</select>  
<select hidden="hidden" id="sel2" name="deletedateupdate" >  
<option data-option="<?php print $montly1;?>" value="<?php print $montlydel1;?>"><?php print $montlydel1;?></option>  
<option data-option="<?php print $montly2;?>" value="<?php print $montlydel2;?>"><?php print $montlydel2;?></option>  
<option data-option="<?php print $montly3;?>" value="<?php print $montlydel3;?>"><?php print $montlydel3;?></option>  
<option data-option="<?php print $montly4;?>" value="<?php print $montlydel4;?>"><?php print $montlydel4;?></option>  
<option data-option="<?php print $montly5;?>" value="<?php print $montlydel5;?>"><?php print $montlydel5;?></option>  
<option data-option="<?php print $montly6;?>" value="<?php print $montlydel6;?>"><?php print $montlydel6;?></option>  
</select>

به کمک جاوا اسکریپت هم مقایسه هاشونو انجام دادم و اینجوری مقداری که میخواستم رو تونستم به صورت تایم های مورد نظر تو متغییر هام ثبت کنم

<script>  
var sel1 = document.querySelector('#sel1');  
var sel2 = document.querySelector('#sel2');  
var options2 = sel2.querySelectorAll('option');  
function giveSelection(selValue) {  
sel2.innerHTML = '';  
for(var i = 0; i < options2.length; i++) {  
if(options2\[i\].dataset.option === selValue){  
sel2.appendChild(options2\[i\]);  
}  
}  
}  
giveSelection(sel1.value);  
</script>

محمد گلمحمدی
@m.golmohammadi2008 2 سال پیش آپدیت شد
0

به عزیز میشه multiple attribute

<select name="month" id="month" multiple>

mohammad zekri
@mohammad.zekri.1991 2 سال پیش آپدیت شد
0

والا نشد باهاش این کارو بکنم
مطمنا از بی تجربگی منه
ولی برای این موردم این کارو انجام دادم
چون 2 تا زمان رو باهم میخواستم بفرستم و هرکدوم از زمان ها برام جداکانه مهم بود و باید با ی مقداری از دیتابیسم بررسی مشد و نتیجه جدید رو ثبت میکرد این کارو انجام دادم
اول اینکه میخواستم ی منو رو اایجاد کنم که تاریخ اعتبار بده بر اساس زمان های ثابت و باید با date همین الان جمع میشد بایت همین زمان رو به این صورت نوشتم

$montly1 = date('Y-m-d H:i', strtotime($date. ' + 30 days'));  
$montly2 = date('Y-m-d H:i', strtotime($date. ' + 60 days'));  
$montly3 = date('Y-m-d H:i', strtotime($date. ' + 90 days'));  
$montly4 = date('Y-m-d H:i', strtotime($date. ' + 120 days'));  
$montly5 = date('Y-m-d H:i', strtotime($date. ' + 150 days'));  
$montly6 = date('Y-m-d H:i', strtotime($date. ' + 180 days'));  

بعد نیاز داشتم که هر زمانی رو به علاوه 3 روز کنم و تو ی متغییر دیگه بنویسمش که این شکلی شد

$montlydel1 = date('Y-m-d H:i', strtotime($montly1. ' + 3 days'));  
$montlydel2 = date('Y-m-d H:i', strtotime($montly2. ' + 3 days'));  
$montlydel3 = date('Y-m-d H:i', strtotime($montly3. ' + 3 days'));  
$montlydel4 = date('Y-m-d H:i', strtotime($montly4. ' + 3 days'));  
$montlydel5 = date('Y-m-d H:i', strtotime($montly5. ' + 3 days'));  
$montlydel6 = date('Y-m-d H:i', strtotime($montly6. ' + 3 days'));

بعدش اومدم 2 تا option باهم نوشتم که باهم مقایسه بشن و مقدارشو تو هرکدوم از value ها نوشتم

&lt;select id="sel1" class="form-control" name="expiredateupdate" onchange="giveSelection(this.value)"&gt;  
&lt;option&gt;ماهانه&lt;/option&gt;  
&lt;option value="&lt;?php print $montly1;?&gt;"&gt; سرویس 1 ماهه&lt;/option&gt;  
&lt;option value="&lt;?php print $montly2;?&gt;"&gt; سرویس 2 ماهه&lt;/option&gt;  
&lt;option value="&lt;?php print $montly3;?&gt;"&gt; سرویس 3 ماهه&lt;/option&gt;  
&lt;option value="&lt;?php print $montly4;?&gt;"&gt; سرویس 4 ماهه&lt;/option&gt;  
&lt;option value="&lt;?php print $montly5;?&gt;"&gt; سرویس 5 ماهه&lt;/option&gt;  
&lt;option value="&lt;?php print $montly6;?&gt;"&gt; سرویس 6 ماهه&lt;/option&gt;  
&lt;/select&gt;  
&lt;select hidden="hidden" id="sel2" name="deletedateupdate" &gt;  
&lt;option data-option="&lt;?php print $montly1;?&gt;" value="&lt;?php print $montlydel1;?&gt;"&gt;&lt;?php print $montlydel1;?&gt;&lt;/option&gt;  
&lt;option data-option="&lt;?php print $montly2;?&gt;" value="&lt;?php print $montlydel2;?&gt;"&gt;&lt;?php print $montlydel2;?&gt;&lt;/option&gt;  
&lt;option data-option="&lt;?php print $montly3;?&gt;" value="&lt;?php print $montlydel3;?&gt;"&gt;&lt;?php print $montlydel3;?&gt;&lt;/option&gt;  
&lt;option data-option="&lt;?php print $montly4;?&gt;" value="&lt;?php print $montlydel4;?&gt;"&gt;&lt;?php print $montlydel4;?&gt;&lt;/option&gt;  
&lt;option data-option="&lt;?php print $montly5;?&gt;" value="&lt;?php print $montlydel5;?&gt;"&gt;&lt;?php print $montlydel5;?&gt;&lt;/option&gt;  
&lt;option data-option="&lt;?php print $montly6;?&gt;" value="&lt;?php print $montlydel6;?&gt;"&gt;&lt;?php print $montlydel6;?&gt;&lt;/option&gt;  
&lt;/select&gt;

به کمک جاوا اسکریپت هم مقایسه هاشونو انجام دادم و اینجوری مقداری که میخواستم رو تونستم به صورت تایم های مورد نظر تو متغییر هام ثبت کنم

&lt;script&gt;  
var sel1 = document.querySelector('#sel1');  
var sel2 = document.querySelector('#sel2');  
var options2 = sel2.querySelectorAll('option');  
function giveSelection(selValue) {  
sel2.innerHTML = '';  
for(var i = 0; i &lt; options2.length; i++) {  
if(options2\[i\].dataset.option === selValue){  
sel2.appendChild(options2\[i\]);  
}  
}  
}  
giveSelection(sel1.value);  
&lt;/script&gt;

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام