PDA

View Full Version : ذخیره checkbox در متغیر



imohammad
چهارشنبه 08 آبان 1392, 09:47 صبح
سلام دوستان
یه فرم درست کردم که بخش چک باکسش اینه:

<fieldset title="ایام پخش">
<label>
<input type="checkbox" name="day" value="0" id="day_0">
شنبه</label>
<br>
<label>
<input type="checkbox" name="day" value="1" id="day_1">
یکشنبه</label>
<br>
<label>
<input type="checkbox" name="day" value="2" id="day_2">
دوشنبه</label>
<br>
<label>
<input type="checkbox" name="day" value="3" id="day_3">
سه شنبه</label>
<br>
<label>
<input type="checkbox" name="day" value="4" id="day_4">
چهارشنبه</label>
<br>
<label>
<input type="checkbox" name="day" value="5" id="day_5">
پنجشنبه</label>
<br>
<label>
<input type="checkbox" name="day" value="6" id="day_6">
جمعه</label>
<br>
</fieldset>
حالا میخوام این چک باکسا هرکدومش تیک خورد تو متغیرم به صورت زیر ذخیره بشه

'1,3,5'
ولی فقط آخرین مقدار چک باکسو ذخیره میکنه!!
چه کنیم؟:لبخند:

MMSHFE
چهارشنبه 08 آبان 1392, 10:04 صبح
چون اسم همه یکیه. باید آرایه بسازین.


<fieldset title="ایام پخش">
<label>
<input type="checkbox" name="day[]" value="0" id="day_0">
شنبه</label>
<br>
<label>
<input type="checkbox" name="day[]" value="1" id="day_1">
یکشنبه</label>
<br>
<label>
<input type="checkbox" name="day[]" value="2" id="day_2">
دوشنبه</label>
<br>
<label>
<input type="checkbox" name="day[]" value="3" id="day_3">
سه شنبه</label>
<br>
<label>
<input type="checkbox" name="day[]" value="4" id="day_4">
چهارشنبه</label>
<br>
<label>
<input type="checkbox" name="day[]" value="5" id="day_5">
پنجشنبه</label>
<br>
<label>
<input type="checkbox" name="day[]" value="6" id="day_6">
جمعه</label>
<br>
</fieldset>
صفحه مقصد فرم:

$days = implode(',', $_POST['day']);

imohammad
پنج شنبه 09 آبان 1392, 08:44 صبح
ممنون از راهنماییتون
وقتی میخوام متغیر رو توی دیتابیس ذخیره کنم خطای زیر رو بر میگردونه

Notice: Array to string conversion in E:\__wamp\www\%%%%%\index.php on line 68

MMSHFE
پنج شنبه 09 آبان 1392, 09:57 صبح
کد کاملتون رو بگذارین. ضمناً این خطا نیست، Notice (یادآوری) محسوب میشه. باید ببینیم کد کامل چیه تا بفهمیم مشکل کجاست. اگه دستوری که گذاشتم رو استفاده کردین، باید متغیر days$ رو توی دیتابیس ذخیره کنید نه ['POST['day_$ رو

imohammad
پنج شنبه 09 آبان 1392, 10:24 صبح
کد کاملتون رو بگذارین. ضمناً این خطا نیست، Notice (یادآوری) محسوب میشه. باید ببینیم کد کامل چیه تا بفهمیم مشکل کجاست. اگه دستوری که گذاشتم رو استفاده کردین، باید متغیر days$ رو توی دیتابیس ذخیره کنید نه ['POST['day_$ رو
ممنون حل شد
فقط یه مشکل دیگه، نمیدونم مشکل کوئری زیر چیه

$query = mysql_query("INSERT INTO `programs` VALUES ( NULL , $_POST[name] , $days , $_POST[time] , $_POST[channel] , 1 )");
if($query) {
echo 'success';
} else {
die( mysql_error());
}

این خطا رو بر میگردونه

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';2;3 , 22:30 , 3 , 1 )' at line 1

MMSHFE
پنج شنبه 09 آبان 1392, 10:37 صبح
کوئری رو استاندارد بنویسید (مقادیر توی کوتیشن تک باشن) :

$query = mysql_query("INSERT INTO `programs` VALUES (NULL,'{$_POST['name']}','{$days}','{$_POST['time']}','{$_POST['channel']}','1')");