در گروه client side مطلبي درباره يك banner manager خوندم كه فكر كردم بد نباشه كه يك الگوريتم ساده اين برنامه رو با هم مرور كنيم تا اينكه هي بهم كدهاي اماده رو معرفي كنيم .
با استفاده از يك بانك اطلاعاتي كه ميتونه طراحيش بصورت زير باشه :
خب اين يك ركورد از table است كه اطلاعات تبليغ ما رو نگه ميداره اولين موردي كه بهش برميخوريم اينه كه چطور تبليغات random رو از توي اين table انتخاب كنيم و در صفحه اول نمايش بديم . لازم به ذكره كه در اين table ما اطلاعاتي نظير نام فايل گرافيكي كه بايد نمايش داده شود و همچنين ادرسي كه به ان بايد لينك شود را ذخيره ميكنيم .
كافيه كه تعداد كل ركوردهاي اين table رو بشمريم و با استفاده از تابع rand() يك عدد صحيح بين 1 و num_rows ايجاد كنيم . اين عدد شماره ركوردي از table تبليغاتمون هست كه قراره نمايش داده بشه لازم به ذكره كه اين عدد banner_id ما نيست!!!!
اگر تعداد ركوردهاي كل table ما 125 عدد بود تابع بدين شكل خواهد شد :
بطور مثال اگر در تابع rand() ما عدد 5 بوجود امد , يعني پنجمين ركورد از اين table بايد نمايش داده شود . كه با يك دستور sql ساده ميتوانيد به پنجمين ركورد دست يابيد و سپس مقدار فيلد banner_image ان و banner_link ان را برگردانيد و با استفاده از دستورات html ان را بصورت يك عكس كه لينك ميباشد نمايشش دهيد .
اگر الگوريتم بالا در ابتداي هر صفحه قرار گيرد بعد از هربار refresh كردن توسط كاربر يكي از تبليغات موجود در بانك نمايش داده ميشود .
مورد بعدي ذخيره كردن تعداد كليك هايي هست كه بر روي هر بنر ميشود . در اين قسمت ما با مديريت بنر ها كاري نداريم و بصورت پيش فرض در نظر ميگيرم كه تمام بنر ها بدون هيچ گونه محدوديت زماني و تعدادي بايد نمايش داده شوند .
در اينجا ما نياز به يك فايل واسطه داريم كه قبل از منتقل كردن كاربر به لينك تبليغ شده hit ان تبليغ را ذخيره كند . اگر نام اين فايل را redirector.php بگذاريم , اين فايل با استفاده از يك متغير عددي كه از بيرون براي ان ارسال ميشود banner_id تبليغ در خواست شده را ميگيرد و با استفاده از دستورات sql به hit ان تبليغ يكي اضافه ميكند و سپس ادرس ان تبليغ را از ركورد ان برميگرداند و كاربر را با استفاده از دستور header() به ادرس داده شده منتقل ميكند .
تنها در اين قسمت كافيست كه لينك هر بنر گرافيكي كه در بالاي صفحه خود نمايش ميدهيد را به صفحه redirector.php تغيير دهيد و همچنين banner_id تبليغ كليك شده را نيز به اين ادرس اضافه كنيد , كه لينك بنر گرافيكي ما بصورت زير تغيير پيدا خواهد كرد :
به اين برنامه ميتوان امكانات بسيار زيادي را اضافه كرد كه اگر مايل بوديد با هم انرا پيش ببريم
با تشكر
با استفاده از يك بانك اطلاعاتي كه ميتونه طراحيش بصورت زير باشه :
کد:
banner_name| banner_link | banner_hit | banner_image | banner_id
-----------------------------------------------------
majid online | majidonline.com | 34 | majid.jpg | 25
خب اين يك ركورد از table است كه اطلاعات تبليغ ما رو نگه ميداره اولين موردي كه بهش برميخوريم اينه كه چطور تبليغات random رو از توي اين table انتخاب كنيم و در صفحه اول نمايش بديم . لازم به ذكره كه در اين table ما اطلاعاتي نظير نام فايل گرافيكي كه بايد نمايش داده شود و همچنين ادرسي كه به ان بايد لينك شود را ذخيره ميكنيم .
كافيه كه تعداد كل ركوردهاي اين table رو بشمريم و با استفاده از تابع rand() يك عدد صحيح بين 1 و num_rows ايجاد كنيم . اين عدد شماره ركوردي از table تبليغاتمون هست كه قراره نمايش داده بشه لازم به ذكره كه اين عدد banner_id ما نيست!!!!
اگر تعداد ركوردهاي كل table ما 125 عدد بود تابع بدين شكل خواهد شد :
کد:
$random_id = rand(1,125)
اگر الگوريتم بالا در ابتداي هر صفحه قرار گيرد بعد از هربار refresh كردن توسط كاربر يكي از تبليغات موجود در بانك نمايش داده ميشود .
مورد بعدي ذخيره كردن تعداد كليك هايي هست كه بر روي هر بنر ميشود . در اين قسمت ما با مديريت بنر ها كاري نداريم و بصورت پيش فرض در نظر ميگيرم كه تمام بنر ها بدون هيچ گونه محدوديت زماني و تعدادي بايد نمايش داده شوند .
در اينجا ما نياز به يك فايل واسطه داريم كه قبل از منتقل كردن كاربر به لينك تبليغ شده hit ان تبليغ را ذخيره كند . اگر نام اين فايل را redirector.php بگذاريم , اين فايل با استفاده از يك متغير عددي كه از بيرون براي ان ارسال ميشود banner_id تبليغ در خواست شده را ميگيرد و با استفاده از دستورات sql به hit ان تبليغ يكي اضافه ميكند و سپس ادرس ان تبليغ را از ركورد ان برميگرداند و كاربر را با استفاده از دستور header() به ادرس داده شده منتقل ميكند .
تنها در اين قسمت كافيست كه لينك هر بنر گرافيكي كه در بالاي صفحه خود نمايش ميدهيد را به صفحه redirector.php تغيير دهيد و همچنين banner_id تبليغ كليك شده را نيز به اين ادرس اضافه كنيد , كه لينك بنر گرافيكي ما بصورت زير تغيير پيدا خواهد كرد :
کد:
redirector.php?id=25
با تشكر