الحاق local storage به php
سلام دوستان.
من به وسیله :
localStorage.getItem('favorites')
یک دیتا درون مرورگرم ساختم. حالا میخوام یه کاری کنم. مقدار favorites در حال حاضر اینه: ["5","3","2","1"] میخوام یه دستور select توو mysql بنویسم و بگم که فقط کاراکتر هایی که آی دی اونا برابر با مقدار بالا هستن echo بشن. خیلی سرچ کردم.اما به نتیجه نرسیدم اساتید لطف کنن کمک کنن ممنون میشم
خب شما باید اون مقادیری که گرفتین رو توی ارایه داشته باشید عین کد زیر:
$ids = [2,3,4,5,6];
بعد بیاید این مقادیر ارایه رو با هم ترکیب کنید با استفاده از دستور implode یعنی بینشون , باشه
$idsString = implode(',',$ids); //2,3,4,5,6
بعد برای کوئری زدن به دیتابیس باید از کلید WHERE IN استفاده کنید عین مثال زیر
SELECT * FROM table WHERE id IN ($idsString)
با استفاده از تابع زیر میتونید این رشته رو به ارایه تبدیل کنید
function str_to_array($str){
$str = str_replace('[','',$str);
$str = str_replace(']','',$str);
$str = str_replace('"','',$str);
$str = explode(','$str);
return $str;
}
خب حالا مبنای کد مشکل بوجود آورده.
چون localstorage جی کوئری هست و برای خوندنش یه راه بیشتر وجود نداره،به این صورت:
<script>document.write(localstorage.getItem('favorites'))</script>
چطور مقدارشو بدم به
$ids
اینطوری:؟
$ids = '<script>document.write(localstorage.getItem('favorites'))</script>';
اما اینطوری یه بار امتحان کردم اما نشد
داداش اگه میتونی و وقت داری امشب یا فردا صبح،یه نمونه کامل برام بزن-خیلی دنبال این قضیه بودم.تا الانم درگیرش بودم.ممنون
بسیار خب.
ببین من به این صورت مقدار مدنظرمو توو 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>
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .