• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

نیازمند برنامه نویس مسلط به php و بانک اطلاعاتی

ms368

Registered User
تاریخ عضویت
13 ژوئن 2009
نوشته‌ها
4,012
لایک‌ها
8,738
با سلام
یه تکه کد کوچیک هست که خود نوشتم و یه مشکل کوچیک داره

کد زیر

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 هست.

با توجه به اینکه کار زیادی تباید انجام بدید لطفا هزینه رو همینجا یا در پ/خ مشخص کنید.

ممنون.
 

behzadnoor

Registered User
تاریخ عضویت
5 مارس 2005
نوشته‌ها
1,886
لایک‌ها
287
محل سکونت
×زیر چتر سبز×
PHP:
$get_query = mysql_query("SELECT * FROM `imdb` WHERE `id_i` = '$idimdb'");
               $fetch_result = mysql_fetch_array($get_query);
               $postTitle = $fetch_result['time'];
                if ($posttime == null){

شرط نداره کوئری . متغیر شرط از کجا آوردید؟
 
Last edited:

hosseinjoukar

کاربر تازه وارد
تاریخ عضویت
10 سپتامبر 2015
نوشته‌ها
30
لایک‌ها
7
سلام
کدتون مشکلات زیادی داره و باید تصحیح ساختار بشه
اسکریپت مشابه اینو قبلا نوشتم، اگر دنبال یه چیز کامل هستید
(جمع آوری اطلاعات فیلم از IMDb - امکان ثبت اطلاعات در دیتابیس
یا ارسال مستقیم به وردپرس - ارسال اتوماتیک و زمانبندی شده و...)
از طریق پیام خصوصی در ارتباط باشید
 

ms368

Registered User
تاریخ عضویت
13 ژوئن 2009
نوشته‌ها
4,012
لایک‌ها
8,738
ممنون از همگی
توسط یکی از دوستان انجام شد.
 
بالا