راکت
حل شده

ذخیره مقادیرچند checkbox بصورت یک آرایه

9 پاسخ

@hesammousavi
سلام
چطوری میتونم مقادیر چند checkbox رو
بصورت یک آرایه در دیتابیس قرارم بدم

بصورت معمولی امتحان کردم ولی نشد.

ثبت پرسش جدید

پاسخ‌ها

9
vahid Mohammadi
vahid Mohammadi
@viva.mohammadi
بهترین پاسخ

@alireza2000sajedi
خب دوست من شما دو راه بیشتر نداری
۱- تبدیل آرایه به فرمت JSON و ذخیره در دیتابیس و بازخونی اون و تبدیل اون به فرمت آرایه
در زیر یک مثال برای ذخیره و بازخونی اون از دیتا بیس میارم

//Example PHP array
$example = array(1, 2, 3);

//Encode $example array into a JSON string.
$exampleEncoded = json_encode($example);

//Insert the string into a column
$sql = "INSERT INTO foo (bar) VALUES ('$exampleEncoded')";

//etc

//Example PHP array
$example = array(1, 2, 3);

//Encode $example array into a JSON string.
$exampleEncoded = json_encode($example);

//Insert the string into a column
$sql = "INSERT INTO foo (bar) VALUES ('$exampleEncoded')";

برای باز خونی باید decode کنید مثل مثال زیر :

//Select the row, just like you would any other row.
$sql = "SELECT bar FROM bar WHERE id = 1";
$result = $databaseObject->fetch($sql);

//Decode the JSON string using json_decode.
$example = json_decode($result['bar'], true);

//Do a var_dump, just to see the structure.
var_dump($example);

۲- استفاده از PHP serialize که لینک توضیح این دستور رو در زیر میزارم

http://us.php.net/manual/en/function.serialize.php
vahid Mohammadi
vahid Mohammadi
@viva.mohammadi

@alireza2000sajedi
منظورتون اگر از مقادیر VALUE هست شما بهتره یک MAP انجام بدین مثلا میتونید به شکل json در دیتا بیستون ذخیره کنید مثل مثال زیر

{checkbox1 : value1 , checkbox2 : value2,....}
علیرضا ساجدی
علیرضا ساجدی
@alireza2000sajedi

تخصص: Laravel,Vuejs

@viva.mohammadi
راه حل ساده تر نداره؟

شاید پاسخ شما همین‌جا باشد

vahid Mohammadi
vahid Mohammadi
@viva.mohammadi

@alireza2000sajedi
:)) چرا خوب داره ولی بهینه بودنش مطرحه
بیبین مثلا اگر چک باکسهای شما ثابت هست همیشه میتونید true و false بودنش رو با ۰ و ۱ نشون بدین مثلا تو دیتابیستون اگر مقدار ۱۱۰۱ رو ذخیره کردین یعنی چهارتا چکباکس دارین که فقط سومیش تیک نداره. به اینکار میگن Map کردن

علیرضا ساجدی
علیرضا ساجدی
@alireza2000sajedi

تخصص: Laravel,Vuejs

@viva.mohammadi
اما چک باکس هایی که من دارم مقدارشون یه رشته هست و تعدادشون زیاده باید همه ی این مقادیرو داخل آرایه ثبت کنم منتهی به صورت آرایه میفرستم ولی در ثبت کردنشون ارور میده

علیرضا ساجدی
علیرضا ساجدی
@alireza2000sajedi

تخصص: Laravel,Vuejs

@hesammousavi
چک باکس هایی که من دارم مقدارشون یه رشته هست و تعدادشون زیاده باید همه ی این مقادیرو داخل آرایه ثبت کنم منتهی به صورت آرایه میفرستم ولی در ثبت کردنشون ارور میده

Ali Ghaleyan
Ali Ghaleyan
@Serjik

تخصص: برنامه نویس لاراول

باید به صورت json_encode ذخیره کنید و به صورت json_decode از دیتا بیس بگیرین

علیرضا ساجدی
علیرضا ساجدی
@alireza2000sajedi

تخصص: Laravel,Vuejs

مرتضی صبیحی
مرتضی صبیحی
@mortezasabihi

تخصص: Front-end developer

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

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