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

عرض عكسي للنتائج الظاهرة

بدأه حجازي في 28 أغسطس 2014 · 5 رد · 785 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

إخواني الأفاضل

لدي هذا الكود :

<?php
	function unix_time($timex){ 
	$timex = $timex+10800;
		return gmdate("h:i:s A", $timex);
        }  
$query = mysql_query("SELECT * FROM reg INNER JOIN status ON reg.id=status.id ORDER BY reg.id") or die ("mysql error");
echo "<table width='80%' cellpadding='5' border='1'>
<tr>
	<td>#</td>
	<td>الاسم</td>
	<td>رقم الجوال</td>
	<td>الايميل</td>
	<td>تاريخ التسجيل</td>
	<td>الحالة</td>

</tr>";
$numid = 1;
while ($row = mysql_fetch_assoc($query)){
	$timetoshow = unix_time($row['timex']);
	echo "
	<tr>
	<td>$numid</td>
	<td><a href='show_reg_more.php?id=".$row['id']."'>".$row['name']."</a></td>
	<td>".$row['mobile']."</td>
	<td>".$row['email']."</td>
	<td>".$row['ddate']." || $timetoshow</td>
	<td>".$row['yesno']."<br />".$row['reason']."</td>
	

</tr>";
$numid++;
	}
echo "</table>";
mysql_free_result($query);
mysql_close($con);
?>

لدي جدولين reg  و status

جدول reg يحتوي على الحقول التالية : 

CREATE TABLE  `reg` (
 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
 `name` VARCHAR( 255 ) NOT NULL ,
 `id_number` VARCHAR( 255 ) NOT NULL ,
 `birthdate` VARCHAR( 255 ) NOT NULL ,
 `mobile` VARCHAR( 255 ) NOT NULL ,
 `qualification` VARCHAR( 255 ) NOT NULL ,
 `email` VARCHAR( 255 ) NOT NULL ,
 `project` VARCHAR( 255 ) NOT NULL ,
 `project_type` VARCHAR( 255 ) NOT NULL ,
 `experience` VARCHAR( 255 ) NOT NULL ,
 `notes` VARCHAR( 255 ) NOT NULL ,
 `ddate` DATETIME NOT NULLd
) ENGINE = MYISAM ;

وجدول status يحتوي على الحقول التالية :

CREATE TABLE  `status` (
 `sid` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
 `status` VARCHAR( 60 ) NOT NULL ,
 `reason` TEXT NOT NULL ,
 `id` INT NOT NULL
) ENGINE = MYISAM ;

والربط بينهما عن طريق حقل id الموجدود في الجدولين

عند تسجيل البيانات في جدول reg 

يتم فتح صفحة للموافقة على البيانات المسجلة في جدول reg

وفي حالة الموافقة أو عدم الموافقة يتم تسجيل الحالات في جدول status

والكود السابق يظهر النتائج التي تم الرد عليها إما بالموافقة او الرفض

وانا اريد العكس أي البيانات التي لم تتم الرد عليها.

 

لي 3 ايام وانا بلف حول نفسي بحثت كثير في النت لكن لم اجد اي حل

 

امل ان اجد الحل في هذا المنتدى

 

مع شكري وتقديري ؛؛

تم تعديل هذه المشاركة بواسطة حجازي في 28 أغسطس 2014 في 20:52

#2
حجازي كتب:

يتم فتح صفحة للموافقة على البيانات المسجلة في جدول reg

وفي حالة الموافقة أو عدم الموافقة يتم تسجيل الحالات في جدول status

والكود السابق يظهر النتائج التي تم الرد عليها إما بالموافقة او الرفض

وانا اريد العكس أي البيانات التي لم تتم الرد عليها.

 

السلام عليكم،

 

افهم من سؤالك انك تريد البيانات من جدول reg بحيث ليس لها ذكر أو سجل في الجدول status،

 

هل هذا صحيح ؟

#3

وعليكم السلام

اريد البيانات من جدول reg بحيث لم يتم الرد عليها في جدول status

اي اذا كانت نتيجة حقل id في جدول reg تساوي 0 في حقل id في جدول status يظهر النتائج

#4
هذا الكود يشوف id من جدول reg اذا كانت حالته مسجلة في جدول status يظهر النتيجة


وانا اريد : اذا كانت قيمة id في جدول reg لا توجد له قيمة مسجلة في حقلid من جدول status يظهر

 

حقل الربط بين الجدولين هو:

reg.id

status.id

#5

السلام عليكم،

 

حرب هذا الاستعلام:

SELECT * FROM reg INNER JOIN status ON reg.id=status.id ORDER BY reg.id WHERE status.id IS NULL
#6

تم حل المشكلة باضافة 

LEFT OUTER JOIN

 

 

يغلق للانتهاء

تم تعديل هذه المشاركة بواسطة حجازي في 29 أغسطس 2014 في 19:48

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