ms368
Registered User
- تاریخ عضویت
- 13 ژوئن 2009
- نوشتهها
- 4,012
- لایکها
- 8,738
با سلام
یه تکه کد کوچیک هست که خود نوشتم و یه مشکل کوچیک داره
کد زیر
کد بالا کارش اینه که میره توی سایت مورد نظر و یک سری اطلاعات جمع میکنه میاره و میریزه توی دیتابیس و از طریق دیتابیس نمایششون میده
کد هیچ مشکل نداره
تنها مشکلش اینه که هر بار که اجرا میشه دوباره میره توی سایت مورد نظر و الاعات رو میگیره
من فقط میخام یکبار بره اطلاعات رو بگیره و ذخیره کنه توی دیتابیس و دفعات بعدی بیاد چک کنه که توی ستون id_i چیزی برابر با متغیر $idimdb هست یا خیر، اگه بود که دیگه نره توی سایت مورد نظر و چیزی ذخیره نکنه، ولی اگه نبود بره اطلاعات جمع کنه بیاره که همونطور که گفتم اگه یکبار بره دیگه نیاز نیست بارهای بعدی بره چون اطلاعات توی دیتابیس ذخیره میشن و از این به بعد باید از طریق دیتابیس اطلاعات رو بخونیم.
اطلاعات دیتابیس: دیتابیس به نام mostafa بدون رمز (لوکال هاست) یک جدول به نام idmb و چندتا column به نام های id , id_s , vote , rate , time که البته ستون id_i منحصر به فرد یا به اصطلاح Unique هست و id هم که نیاز ندارم بهش Primary هست.
با توجه به اینکه کار زیادی تباید انجام بدید لطفا هزینه رو همینجا یا در پ/خ مشخص کنید.
ممنون.
یه تکه کد کوچیک هست که خود نوشتم و یه مشکل کوچیک داره
کد زیر
PHP:
<?php
global $idimdb;
$idimdb = "tt0182576";
mysql_connect("localhost", "root", "")//اطلاعات اتصال
or die(mysql_error());
mysql_select_db("mostafa")//نام دیتابیس
or die(mysql_error());
$get_query = mysql_query("SELECT * FROM `imdb`");
$fetch_result = mysql_fetch_array($get_query);
$postTitle = $fetch_result['time'];
if ($posttime == null){
$url = file_get_contents("http://www.imdb.com/title/$idimdb/");
$first_step = explode( '<span itemprop="ratingValue">' , $url );
$second_step = explode("</span>" , $first_step[1] );
$first_step2 = explode( '<span class="small" itemprop="ratingCount">' , $url );
$second_step2 = explode("</span>" , $first_step2[1] );
$first_step3 = explode( '<time itemprop="duration" datetime="PT133M">' , $url );
$second_step3 = explode("</time>" , $first_step3[1] );
$posttime = $second_step[0];
$posttime4 = $second_step2[0];
$posttime5 = trim($second_step3[0]);
mysql_query("INSERT IGNORE INTO imdb (id_i, rate, vote, time) VALUES('$idimdb', '$posttime', '$posttime4', '$posttime5')")
or die(mysql_error());
}
while ($fetch_result = mysql_fetch_array($get_query))
{
$postTitle2 = $fetch_result['id_i'];
$postTitle3 = $fetch_result['vote'];
$postTitle4 = $fetch_result['rate'];
$postTitle5 = $fetch_result['time'];
if ($postTitle2 == $idimdb)
{
echo " $postTitle2 $postTitle3 $postTitle4 $postTitle5 ";
}
}
mysql_close;
?>
کد هیچ مشکل نداره
تنها مشکلش اینه که هر بار که اجرا میشه دوباره میره توی سایت مورد نظر و الاعات رو میگیره
من فقط میخام یکبار بره اطلاعات رو بگیره و ذخیره کنه توی دیتابیس و دفعات بعدی بیاد چک کنه که توی ستون id_i چیزی برابر با متغیر $idimdb هست یا خیر، اگه بود که دیگه نره توی سایت مورد نظر و چیزی ذخیره نکنه، ولی اگه نبود بره اطلاعات جمع کنه بیاره که همونطور که گفتم اگه یکبار بره دیگه نیاز نیست بارهای بعدی بره چون اطلاعات توی دیتابیس ذخیره میشن و از این به بعد باید از طریق دیتابیس اطلاعات رو بخونیم.
اطلاعات دیتابیس: دیتابیس به نام mostafa بدون رمز (لوکال هاست) یک جدول به نام idmb و چندتا column به نام های id , id_s , vote , rate , time که البته ستون id_i منحصر به فرد یا به اصطلاح Unique هست و id هم که نیاز ندارم بهش Primary هست.
با توجه به اینکه کار زیادی تباید انجام بدید لطفا هزینه رو همینجا یا در پ/خ مشخص کنید.
ممنون.