اذهب إلى المحتوى
  • 0

فلترة النتائج من قواعد البيانات

Hamada Ahmed

السؤال

اذا كان لدينا جدول في قاعدة البيانات يخزن ايبي الزائر واسم البلد ( في نهاية اليوم يتم حذف محتوى الجدول ) يتم فلترة الايبيهات المكررة والبلدان لتظهر بصيغتها النهائية عدد الزوار  في هذا اليوم والبلدان الخاصة بالزوار كما في الكود التالي

<?php
$status_query = "SELECT DISTINCT user_ip FROM totalview ";
$result_query = mysqli_query($db, $status_query);
$count = mysqli_num_rows($result_query);
echo ' زوار اليوم : '.$count.' زائر ';
?>
<?php
echo ' بلدان الزوار :<br />';
$stmt = $db->prepare("SELECT DISTINCT user_country FROM totalview"); 
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) 
{
echo $row['user_country'] , '<br />' ;
}
$stmt->close();
?>

كيف يمكن اظهار عدد الزائرين من البلد  بجوار  اسم البلد  فمثلا  زار الموقع في هذا اليوم 100 زائر   من خمس دول مثلا اريد ان تكون النتائج بدون تكرار الايبي للزائر الواحد كالتالي

الجزائر   40  زائر 

مصر    30 زائر

السعودية  20 زائر

تونس 10 زائر

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ منذ ساعة مضت قال Adnane Kadri:

يمكنك الاستفادة من هاته الإجابات على سؤال سابق لك

 

قمت بعمل ذلك

اريد فقط عمل عداد للزوار الخاصين ببلد معين بدون تكرار زائر دخل الموقع اكثر من مرة

اما الخطوات السابقة من تخزين الايبي واسم الدولة فهي تخزن بالفعل والكود بالاعلى يظهرالعدد الاجمالي واسماء الدول

سوف اضع لك صورة من الموقع للتوضيح

بها 23 زائر من دول مختلفة اريد تقسيم ال23 زائر لتظهر بجوار اسم الدولة

p_2166l6ac81.png

فكيف يمكن توزيع هذا العدد على الدول

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 6 ساعات قال Hamada Ahmed:

قمت بعمل ذلك

اريد فقط عمل عداد للزوار الخاصين ببلد معين بدون تكرار زائر دخل الموقع اكثر من مرة

اما الخطوات السابقة من تخزين الايبي واسم الدولة فهي تخزن بالفعل والكود بالاعلى يظهرالعدد الاجمالي واسماء الدول

سوف اضع لك صورة من الموقع للتوضيح

بها 23 زائر من دول مختلفة اريد تقسيم ال23 زائر لتظهر بجوار اسم الدولة

p_2166l6ac81.png

فكيف يمكن توزيع هذا العدد على الدول

الأصح ليس تقسيم هاته العناوين أو هؤلاء الزوار على الدول، بل هو في استخراج الدول من عناوين الأيبيهات السابقة وحساب تكرار كل منها. 

أي أن العملية ستتبع المنطق التالي:

  • نقوم بتحضير استعلام تحديد لعناوين أيبيهات الزوار. 
  • جلب اسم الدولة المعبر عن كل عنوان IP.
  • تخزين الناتج في مصفوفة.
  • حساب تكرار كل قيمة من المصفوفة (يمكنك إستعمال الدالة array_count_values في PHP).
<?php
$arr = ['algeria' ,'egybt' ,'ghana' ,'egybt'];

print_r(array_count_values($arr));

//
Array
(
    [algeria] => 1
    [egybt] => 2
    [ghana] => 1
)

تأكد من تتبع هاته الخطوات وخرج كل خطوة لربطها بالتي بعدها على نحو صحيح.

توثيق الدالة array_count_values.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

استعمل group by اي تجميع بواسطة ، وحدد عمود ip ليتم التجميع على اساسه كالاتي :

select colum_state , count(colum_id) from name_table groub by colum_id;

 

colum_state عمود اسم الدوله

name_table اسم الجدول

تم التعديل في بواسطة رفيق هادي مبارك هادي مشعيل
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 10 ساعات قال شرف الدين2:

برجاء عمل export لقاعدة البيانات ومن ثم إرفاقها في تعليق حتى أتمكن من معاينتها

CREATE TABLE `totalview` (
  `user_ip` text NOT NULL,
  `user_country` text NOT NULL,
  `end_time` varchar(50) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `totalview` (`user_ip`, `user_country`, `end_time`) VALUES
('41.69.217.254', 'Egypt', '2021-12-06'),
('41.69.217.254', 'Egypt', '2021-12-06'),
('41.69.217.254', 'Egypt', '2021-12-06'),
('51.222.253.9', 'Canada', '2021-12-06'),
('66.249.74.94', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.73.131', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.74.94', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('41.69.217.254', 'Egypt', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.94', 'United States', '2021-12-06'),
('66.249.74.94', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.94', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.73.131', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.131', 'United States', '2021-12-06'),
('66.249.73.131', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.131', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.128', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('196.150.153.158', 'Egypt', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.73.131', 'United States', '2021-12-06'),
('196.150.37.189', 'Egypt', '2021-12-06'),
('196.150.37.189', 'Egypt', '2021-12-06'),
('196.150.37.189', 'Egypt', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('66.249.73.159', 'United States', '2021-12-06'),
('66.249.74.92', 'United States', '2021-12-06'),
('66.249.74.90', 'United States', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('104.219.248.96', 'United States', '2021-12-06'),
('104.219.248.96', 'United States', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06'),
('102.184.7.10', 'Egypt', '2021-12-06');

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

شوف الصورة التالية قمت بعمل استعلام لبياناتك في SQL:

 

EEEEEEEEEEEEEEEEEEEE.jpg

اما بالنسبة لا ستعمال قواعد البيانات في PHP فليس لدي خبره كافيه فيها 

ولكن شوف الصورة التاليه التقطتها من كتاب تعليمي لـ PHP :

 

Screenshot_٢٠٢١١٢٠٦_٢٣٢٠٣٦.jpg

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ On ٦‏/١٢‏/٢٠٢١ at 21:00 قال رفيق مشعيل الوادعي:

شوف الصورة التالية قمت بعمل استعلام لبياناتك في SQL:

 

EEEEEEEEEEEEEEEEEEEE.jpg

اما بالنسبة لا ستعمال قواعد البيانات في PHP فليس لدي خبره كافيه فيها 

ولكن شوف الصورة التاليه التقطتها من كتاب تعليمي لـ PHP :

 

Screenshot_٢٠٢١١٢٠٦_٢٣٢٠٣٦.jpg

اشكرك على مجهودك لكن لا اريد حساب تكرار ايبي الزائر فمثلا united state تلاحظ عدد الزوار 122 ستلاحظ انها ايبيهات مكررة نريد فقط حساب الايبيهات بدون تكرار بجوارها اسم الدولة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

المعذرة لم افهم المقصود سابقاً.

كل العمل سيكون على اوامر قواعد البيانات.

الصورة التاليه بها المقصود ان شاء الله

Annotation 2021-12-10 124633.jpg

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...