الاثنين، 3 يونيو 2013

كيفية برمجة عداد مشاهدات فى موقعك

كيفية برمجة عداد مشاهدات فى موقعك
ماذا إذا كنت تريد برمجة عداد مشاهدات لموقعك؟!، أو تريد برمجة عداد مشاهدات للتدوينات على موقعك؟ أو تريد برمجة عداد مشاهدات لصفحات موقعك؟ .. كل هذا سنقوم ببرمجته معًا عبر طريقة واحدة فقط !
- الفكرة.
هي وجود عمود فى قاعدة البيانات يقوم بالزيادة تلقائيًا بقيمة 1 كلما تم تحميل ملف معين.
- خطوات العمل.
حدد أولاً ما الذي تنوى فعله، أنا ما سأنوى فعله فى هذا الدرس ببساطة أن نقوم ببرمجة عداد مشاهدات للتدوينات ورئيسية الموقع؛ لذلك سنقوم بإنشاء عمود فى جدول التدوينات باسم visits ، ونقوم بإنشا عمود فى جدول البيانات العامة للموقع بنفس الاسم.
ثم سنذهب إلى ملف عرض التدوينات، ثم فى بدايته سنقوم بكتابة الشيفرة التالية:
<?php
$sql = $db->query("UPDATE blogs SET visits=visits+1 WHERE id='$id'");
?>
هذا على إفتراض أن جدول التدوينات يسمي blogs وعلى إفتراض أن المتغير id يحتوى على id التدوينة التى يشاهدها الزائر.
والآن لعرض عدد مشاهدات أحد التدوينات والتي مثلاً رقم الـid الخاص بها تساوى 1، نستخدم هذه الشيفرة:
<?php
$sql = $db->query("SELECY visits FROM blogs WHERE id='id'");
$row = $sql->fetch_object();
echo $row->visits;
?>
والآن ، كيف تقوم ببرمجة عداد مشاهدات لرئيسية موقعك؟ .. ببساطة ستقوم بإنشاء عمود جديد فى جدول البيانات العامة لموقعك ولتسميه visits ثم ستذهب إلى صفحة index.php وتكتب بها فى بداية الملف تلك الشيفرة:
<?php
$sql = $db->query("UPDATE info SET visits=visits+1");
?>
ولعرض عدد مشاهدات الصفحة الرئيسية، يمكنك إستخدام تلك الشيفرة:
<?php
$sql = $db->query("SELECT visits FROM info");
$row = $sql->fetch_object();
echo $row->visits;
?>
لكن ماذا إذا أردت أن تعرض جميع عدد مشاهدات الموقع؟ من تدوينات وصفحة ورئيسية معًا؟ .. يمكنك إستخدام تلك الشيفرة للقيام بتلك العملية:
<?php
$sql = "SELECT visits FROM blogs";
$query = $db->query($sql);
$start = 0;
while($GetedData = mysql_fetch_object($sql)){
$start = intval($start) + intval($GetedData->visits);
}
$sql1 = "SELECT visits FROM info";
$query1 = $db->query($sql1);
$start1 = 0;
while($GetedData1 = mysql_fetch_object($sql1)){
$start1 = intval($start1) + intval($GetedData1->visits);
}
$result = $start+$start1;
echo $result;
?>
أعتقد أن جميع شيفرات الدرس واضحة ولا تحتاج المزيد من التوضيح :)

المزيد من المواضيع:

1 التعليقات:

  1. واضح جدا فقط ينقص أمر MySQL لاضافة عمود جديد في جدول سبق انشائه ... شكرا

    ردحذف