بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

الحاق local storage به php

مدیریت گفتگو
mater 9 سال پیش
آخرین تغییر: 9 سال پیش

سلام دوستان.

من به وسیله :

 localStorage.getItem('favorites')

یک دیتا درون مرورگرم ساختم. حالا میخوام یه کاری کنم. مقدار favorites در حال حاضر اینه: ["5","3","2","1"] میخوام یه دستور select توو mysql بنویسم و بگم که فقط کاراکتر هایی که آی دی اونا برابر با مقدار بالا هستن echo بشن. خیلی سرچ کردم.اما به نتیجه نرسیدم اساتید لطف کنن کمک کنن ممنون میشم

نظرات

پاسخ‌ها 6

امین علیپور 9 سال پیش

خب شما باید اون مقادیری که گرفتین رو توی ارایه داشته باشید عین کد زیر:

 $ids = [2,3,4,5,6];

بعد بیاید این مقادیر ارایه رو با هم ترکیب کنید با استفاده از دستور implode یعنی بینشون , باشه 


 $idsString = implode(',',$ids); //2,3,4,5,6

بعد برای کوئری زدن به دیتابیس باید از کلید WHERE IN استفاده کنید عین مثال زیر

 SELECT * FROM table WHERE id IN ($idsString)

 

نظرات

mater 9 سال پیش

خب اعداد من اینطوریه:

["5","3","2","1"]

نظرات

امین علیپور 9 سال پیش

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

 function str_to_array($str){
$str = str_replace('[','',$str);
$str = str_replace(']','',$str);
$str = str_replace('"','',$str);
$str = explode(','$str);
return $str;


}

 

نظرات

mater 9 سال پیش

خب حالا مبنای کد مشکل بوجود آورده.

چون localstorage جی کوئری هست و برای خوندنش یه راه بیشتر وجود نداره،به این صورت:

 <script>document.write(localstorage.getItem('favorites'))</script>

چطور مقدارشو بدم به 

 $ids

اینطوری:؟

 $ids = '<script>document.write(localstorage.getItem('favorites'))</script>';

اما اینطوری یه بار امتحان کردم اما نشد

نظرات

امین علیپور 9 سال پیش
این مورد رو دقیق نمیدونم . ولی یه راهیش اینه که مقدار که تو جی کوئری به دست میارید رو بریزید توی یک متغیر و اونو از طریق ajax به php ارسال کنید
mater 9 سال پیش

داداش اگه میتونی و وقت داری امشب یا فردا صبح،یه نمونه کامل برام بزن-خیلی دنبال این قضیه بودم.تا الانم درگیرش بودم.ممنون

نظرات

امین علیپور 9 سال پیش
والا من اهلش نیستم بخوام بشینم برا کسی کد بنویسم . خوتون کد رو بنویسید هر جا مشکل داشت من راهنمایی تون میکنم
mater 9 سال پیش

بسیار خب.

ببین من به این صورت مقدار مدنظرمو توو localstorage ذخیره میکنم:

 var favorites = JSON.parse(localStorage.getItem('favorites')) || [];
favorites.forEach(function(favorite) {
document.getElementById(favorite).className = 'radius waves-effect fa fa-heart pointer favi';
});
document.querySelector('.list').addEventListener('click', function(e) {
var id = e.target.id,
item = e.target,
index = favorites.indexOf(id);
if (!id) return;
if (index == -1) {
favorites.push(id);
item.className = 'radius waves-effect fa fa-heart pointer favi';
} else {
favorites.splice(index, 1);
item.className = 'radius waves-effect fa fa-heart pointer fav';
}
localStorage.setItem('favorites', JSON.stringify(favorites));
console.log(favorites);



});

حالا میخوام یک صفحه داشته باشم که id هایی که ذخیره کردم(به این صورت ذخیره میشه(مثال:["8","5","2","1"]))، به صورت زیر نمایش بده.

مثلا:

<div id="1"></div>
<div id="2"></div>
<div id="5"></div>
<div id="8"></div>

نظرات

mater 9 سال پیش
امین جان راهنمایی کنی بسیار ممنون میشم.
mater 9 سال پیش
اساتید،سوال اگه نامفهومه بفرمایید واضحتر بگم.فقط لطفا راهنمایی کنین. توو فیلم های آموزشی این مجموعه و مجموعه های دیگه هم این بحث رو ندیدم
mater 9 سال پیش
دوستان کسی راهنمایی نمیکنه؟

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .