الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن اظهار التكرار

بدأه man in dark في 24 ديسمبر 2008 · 6 رد · 610 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه

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

لو ان لدي قاعدة بيانات بهذا الشكل

  1.  
  2. -- phpMyAdmin SQL Dump
  3. -- version 2.9.1.1
  4. -- قاعدة البيانات: `test`
  5. --
  6.  
  7. -- --------------------------------------------------------
  8.  
  9. --
  10. -- بنية الجدول `file_source`
  11. --
  12.  
  13. CREATE TABLE `file_source` (
  14. `line` varchar(20) NOT NULL,
  15. PRIMARY KEY (`line`)
  16. ) ENGINE=MyISAM DEFAULT CHARSET=cp1256;
  17.  

ويحتوي حقل line على بيانات :::::::::::

احمد

خالد

محمد

احمد

اريد ان يظهر لي التكرار فقط بهذه البيانات المتكرار """""" احمد """""""

كيف استعلام عن ذلك

لقد جربت اضع الاستعلام هكذا ولكن لم يعمل معي

  1.  
  2. $sql = "SELECT * FROM file_source WHERE line LIKE line";
  3. $result = mysql_query($sql);
  4. $num = mysql_num_rows($result);
  5.  

#2

اخواني لقد جربت الاستعلام هكذا و لكن يظهر جميع البيانات

$sql = "SELECT * FROM file_source WHERE line = line";
$result = mysql_query($sql);
$num = mysql_num_rows($result);

انا اريده ان يظهر البيانات المتكررة فقط

#3
SELECT *
FROM file_source
GROUP BY tag
HAVING ( COUNT(*) > 1 )

مع إستبدال tag بإسم Column الذي يتم فيه التكرار، لذلك لا ينفع أن يكون بديل tag عبارة عن Primary Key.

أعتقد أنك فهمت ما عليك تعديله.

بالتوفيق.

لا اله الا الله محمد رسول الله

شبكة شباب IT

http://www.shababit.net

shababit.gif

#4

الف شكر اخي majd2002

الكود يعمل 100%

سؤال آخر لو سمحت .....

اذا كان لدي ثلاث جداول باسم file_source و file_source2 و file_source3

ويحتوي على ثلاث حقول Column باسم line و line2 و line3

اريد اظهار الكلمات المتكررة في هذه الحقول

يعنى اذا كان line يحتوي على البيانات ::::::::

خالد

احمد

محمد

يعنى اذا كان line2 يحتوي على البيانات ::::::::

فهذ

احمد

عبدالله

اذا كان line3 يحتوي على البيانات ::::::::

فهذ

احمد

صالح

لو نلاحظ الاسم .. فهد ... متكرر في حقلين لا اريد ان يظهر لي الاسم فهد لانه ليس متكرر في ثلاث حقول

الناتج سوف يصبح """""""" احمد """"""""

تم تعديل هذه المشاركة بواسطة man in dark في 25 ديسمبر 2008 في 10:55

#5

على فرض هذه الجداول

CREATE TABLE `t1` (
  `name` varchar(50) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE `t2` (
  `name` varchar(50) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

CREATE TABLE `t3` (
  `name` varchar(50) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8

فإن الحل كما يلي

select t1.name from t1,t2,t3 where t1.name=t2.name and t1.name=t3.name and t2.name=t3.name

بالتوفيق.

آسف لأني لم أرى انك شرحت أسماء Column في الجداول،

لذلك بنيت ثلاث جداول لدي وقمت بالفحص عليها.

بإمكانك التعديل في الحل بما يناسبك.

لا اله الا الله محمد رسول الله

شبكة شباب IT

http://www.shababit.net

shababit.gif

#6

الف شكر اخي majd2002

#7

حيّاك الله

بالتوفيق.

لا اله الا الله محمد رسول الله

شبكة شباب IT

http://www.shababit.net

shababit.gif

مواضيع مشابهة