PDA

View Full Version : سوال: درخواست کد صفحه livescore



hno2005
یک شنبه 07 خرداد 1391, 14:58 عصر
باسلام خسته نباشید
من دارم یک سایت پیشبینی مسابقات قوتبال ایجاد میکنم .
کد صفحه ای میخواهم که نتایج مسابقات فوتبال رو به صورت زنده نشون میده .
میشه یک نمونه کد بهم بدین ؟

با تشکر

MostafaEs3
یک شنبه 07 خرداد 1391, 17:11 عصر
:متفکر: یعنی بصورت آجاکس اعداد عوض بشن ؟؟

hno2005
دوشنبه 08 خرداد 1391, 16:26 عصر
بله حتما دیدید یکسری سایتها لحظه به لحظه امار دقیق رو نشون میدند .
البته یکسری اجاکس عسک یکسری هم همینطور سایت ریفرش میشه

کسی چنین کدی نداره ؟
نرسی

yones_safari
سه شنبه 09 خرداد 1391, 02:09 صبح
بله حتما دیدید یکسری سایتها لحظه به لحظه امار دقیق رو نشون میدند .
البته یکسری اجاکس عسک یکسری هم همینطور سایت ریفرش میشه

کسی چنین کدی نداره ؟
نرسی
درود
من برای این کار از سایت http://www.scorespro.com استفاده کردم که نتایجی که میزاره آنی هستش.و اما چطور باید نتایج رو بخونیم.
مثلا در آدرس زیر:
http://www.scorespro.com/soccer/livescore/daejeon-citizen-vs-gwangju-fc/28-05-2012/
بعد از کلمه livescore یه / داره و بعد نام تیم میزبان(به جای فاصله ها باید - قرار بدی) و بعد -vs- و بعد نام تیم میهمان (به جای فاصله ها باید - قرار بدی) و بعد یه / و بعد تاریخ رو قرار میدی.
خوب حالا ما دونستیم که اطلاعات رو باید از کدوم سایت بخونیم و با چه فرمتی ،موند پردازش اون.من برای این کار از کلاس simple_html_dom استفاده کردم که تو ضمیمه هم قرار میدم تا دانلود کنی.خوب بعد از ضمیمه کردن این فایل تو برنامه پردازش کدهای html رو انجام میدیم.

require_once('simple_html_dom.php');
$html=file_get_html('http://www.scorespro.com/soccer/livescore/atletico-mineiro-vs-corinthians/27-05-2012/');
$finished=$html->find('.synopsis',0);
if($finished->plaintext!='Finished' && $finished->plaintext!='Half Time')
{
$tmp=$html->find('.synopsis span',0);
echo substr(trim($tmp->plaintext,' -+'),0,2).'<br />';
}
elseif($finished->plaintext=='Half Time')
{
echo('HT').'<br />';
}
elseif($finished->plaintext='Finished')
echo 'پایان'.'<br />';
$result=$html->find('.score_t',0);
echo $result->plaintext.'<br />';
$gol=$html->find('div[style=hidden] .score_row');
foreach($gol as $key=>$val)
{
$tmp=$val->children(0);
echo '<span style="float:left;">'.$tmp->innertext.'</span><br />';
$tmp=$val->children(2);
echo '<span style="float:right;">'.$tmp->innertext.'</span><br />';
}
خوب تو این مثال من نتیجه بازی بین دو تیم atletico-mineiro و corinthians که در تاریخ 27-05-2012 انجام شده رو استخراج میکنم.با دستور file_get_html فایل رو میخونم و میریزم تو $html و بعد با دستور

$html->find('.synopsis',0);
میخوام تایمر بازی رو بخونم اینجا 3 حالت وجود داره.1-بازی داره انجام میشه 2-نمیه اول هستش 3-بازی تموم شده.خوب من حالت یک رو با یه if تست میکنم:

if($finished->plaintext!='Finished' && $finished->plaintext!='Half Time')
{
$tmp=$html->find('.synopsis span',0);
echo substr(trim($tmp->plaintext,' -+'),0,2).'<br />';
}
اگه بازی تموم نشده باشه و نیمه هم نباشه حالت یک میشه که تو دستور بالا هم اینا رو پیاده کردم.
2-اگه نیمه باشه:

elseif($finished->plaintext=='Half Time')
{
echo('HT').'<br />';
}
3-اگه بازی تموم بشه:

elseif($finished->plaintext='Finished')
echo 'پایان'.'<br />';
خوب حالا میخوام نتیجه بازی رو بخونم:

$result=$html->find('.score_t',0);
echo $result->plaintext.'<br />';
خوب حالا موند تعداد کارتها و گلهای زده همرا با زمانشون:

$gol=$html->find('div[style=hidden] .score_row');
foreach($gol as $key=>$val)
{
$tmp=$val->children(0);
echo '<span style="float:left;">'.$tmp->innertext.'</span><br />';
$tmp=$val->children(2);
echo '<span style="float:right;">'.$tmp->innertext.'</span><br />';
}
خوب حالا میتوی برای span هایی که با کلاسهایی مثل yellowcard,alball و .... به خروجی میان تصاویر متناظرشون رو تو css قرار بدی تا زیبا نشون داده بشه.من دیگه دیر وقته میرم بخوابم خودت اونا رو هم اوکی کن.
اینم یه تصویری از خروجی برنامه:
http://adc.site40.net/photos/5c53759e4dd1.png
موفق باشی