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

3 سال پیش توسط علیرضا ساجدی مطرح شد
آفلاین
user-avatar
علیرضا ساجدی ( 15094 تجربه )
3 سال پیش
تخصص : Laravel,Vuejs

لینک کوتاه اشتراک گذاری

0

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

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

بهترین پاسخ
آفلاین
user-avatar
vahid Mohammadi
3 سال پیش

@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
آفلاین
user-avatar
vahid Mohammadi ( 37202 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

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

{checkbox1 : value1 , checkbox2 : value2,....}
آفلاین
user-avatar
علیرضا ساجدی ( 15094 تجربه )
3 سال پیش
تخصص : Laravel,Vuejs

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
vahid Mohammadi ( 37202 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
علیرضا ساجدی ( 15094 تجربه )
3 سال پیش
تخصص : Laravel,Vuejs

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
علیرضا ساجدی ( 15094 تجربه )
3 سال پیش
تخصص : Laravel,Vuejs

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
vahid Mohammadi ( 37202 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

2

@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
آفلاین
user-avatar
Ali Ghaleyan ( 12475 تجربه )
3 سال پیش
تخصص : برنامه نویس لاراول

لینک کوتاه اشتراک گذاری

2

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

آفلاین
user-avatar
علیرضا ساجدی ( 15094 تجربه )
3 سال پیش
تخصص : Laravel,Vuejs

لینک کوتاه اشتراک گذاری

0

@alighalehban1379
ممنون

آفلاین
user-avatar
مرتضی صبیحی ( 10046 تجربه )
3 سال پیش
تخصص : Front-end developer

لینک کوتاه اشتراک گذاری

1

روش ذخیره بصورت json در دیتابیس:
https://stackoverflow.com/questions/48861486/laravel-5-6-bulk-inserting-json-data

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.