الحاق local storage به php
مدیریت گفتگو
سلام دوستان.
من به وسیله :
localStorage.getItem('favorites')
یک دیتا درون مرورگرم ساختم. حالا میخوام یه کاری کنم. مقدار favorites در حال حاضر اینه: ["5","3","2","1"] میخوام یه دستور select توو mysql بنویسم و بگم که فقط کاراکتر هایی که آی دی اونا برابر با مقدار بالا هستن echo بشن. خیلی سرچ کردم.اما به نتیجه نرسیدم اساتید لطف کنن کمک کنن ممنون میشم
پاسخها 6
خب شما باید اون مقادیری که گرفتین رو توی ارایه داشته باشید عین کد زیر:
$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>
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
نظرات