تالار گفتمان nCIS.ir

نسخه‌ی کامل: سوال در مورد json و php
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام.
من اسکریپتی با curl نوشتم که اطلاعات رو از سایت های دیگه روزانه مثل قیمت رو بگیره ( با کرول اطلاع رو میگیره تو دیتابیس ذخیره می کنه و بعد هم چاپ)

حالا می خوام قیمت ها رو لحظه ای نمایش بدم، 

مثل سایت های زیر:

http://www.arzlive.com/

http://www.iranjib.ir/showgroup/23/realtime_price/

http://www.nerkhbox.com/%D9%82%DB%8C%D9%85%D8%AA-%D8%B2%D9%86%D8%AF%D9%87-%D8%B3%DA%A9%D9%87-%D9%88-%D8%B7%D9%84%D8%A7.html

http://www.livedata.ir/


http://www.tgju.org/


به این سایت ها نگاه کنید.

بطور زنده بدون اینکه صفحه رفرش بشه اطلاعات رو نمایش می دن. اگه قیمت سعودی بشه رنگش سبز می شه و اگه رکود بشه رنگش قرمز میشه.

این کار رو با اجاکس انجام می دن یعنی رشته های php رو به json تبدیل کردند و بعد نمایش میدن.

سوال من اینجاست. 
1-چطوری با ajax می شه json رو نمایش داد توی یکه مثلا li مشخص .
2- جطوری تعیین کردن که رنگش تغییر کنه.
3- من فایل های json این سایت ها رو دیدم همه به یه روش کار می کنند. اگه نگاه کنید بعد از مدتی کلید های فایل json هر بار عدد جدید بهش اضافه می شه. که اینکار رو یا برای جلوگیری از دزدیده شدن مطالب زدن یا برای ایجاد نمودار و احتمالا هم برای نمودار باشه.

http://www.nerkhbox.com/Theme/price_load.php

حالا من می خوام داده هام رو از دیتابیس بگیریم و بعد از تبدیل به json همین طور خودکار تغییر کنید ...
1- اگه از jQuery استفاده کنید، مستقیماً میتونین از عناصر بصورت آبجکت استفاده کنید. مثلاً اگه آرایه PHP که JSON شده، اندیس value داشته، توی jQuery با result.value میتونید بهش دسترسی پیدا کنید.

2- اینکار با خود Javascript داره انجام میشه. اگه عدد مثبت باشه ";style="color:green و اگه منفی باشه ";style="color:red به عنصری که میسازه، داده میشه (برای مثال).

3- متوجه منظورتون نشدم.
به این فایل نگاه کنید.

http://www.livedata.ir/static/p.json

یک بار s_3001 بعدش s_3005
در jquery هنگامی که شما فرم را post می کنید می تونین تعیین کنید که داده بازگشتی چی باشه ؟ (json,text,html)

نمونه مثال :

$.post('url.php',{data1 : 'a', data2 : 'b'},'','json')
.done(function(response){
   //code here ...
}).fail(function(){
  //code here ...
});

توجه داشته باشید که تابع عضو شده در done مقدار Response یک شئ می باشد.

توجه داشته باشید که توابع موجود در fail زمانی فراخوانی می شوند که داده بازگشتی از سرور نوع مورد انتخاب شما مثلا json نباشد.
برای دزدیده شدن مطالب هم می تونین رمزی مخفی و [متغیر] پیاده سازی کنید.(خودتون فکر کنید)