تغطية مباشرة لأحداث منتدى الإعلام الجديد المقام بمدينة أبوظبي
هل تقترح تمديد مسابقة سوالف كاست؟

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: Mar 2002-
#1 (permalink)  
كيف يمكن القيام بهذا الاستدعاء مع الشرط WHERE ؟


الاخوة في شبكة سوالف
اذا رغبنا بأن يتم استدعاء قيمة معينة في جدول ، بشرط أن تكون مساوية لقيمة في صف آخر في جدول ثانٍ ، فكيف يمكن الاستفادة من الشرط WHERE في هذه الحالة ؟

مثال
إذا كنا نستعمل الكود التالي
SELECT * FROM id1 WHERE id2=id3

على أن يكون id1 وid2 هما صفان في الجدول الأول ، و id3 هما صفان في الجدول الثاني
علماً أن الكود في الأعلى هو لتقريب المثال ولا يعمل بشكل صحيح

وشكراً سلفاً






__________________
إستخدم ملفك الخاص لكتابة توقيعك
janoubi غير متواجد حالياً   قديم 23-04-2005, 09:08 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#2 (permalink)  

أوكي .. في هذه الحالة نعطي لكل جدول اسما جديدا ع الهوا .. بهذه الطريقة:
كود PHP:
SELECT a.id1 theid 
FROM table1 a
table2 b 
WHERE a
.id2 b.id3 
خلي بالك id1 الآن لكي تناديه سيكون اسمه كما هو واضح: theid






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 23-04-2005, 09:14 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2002-
#3 (permalink)  

شكرا للاخ انترنت بلس على مساهمته
لعل الموضوع بحاجة إلى توضيح لكي نصل إلى النتيجة المطلوبة

ما أود فعله هو الحصول على مجموع الزيارات في قسم معين
والكود الذي استخدمه للحصول على مجموع الزيارات في كل البرنامج هو

<?php
$query=mysql_query("select sum(visit)from tt1");
list($total)=mysql_fetch_array($query);
echo $total;
?>

حيث أن الجدول tt1 يحتوي على صف اسمه visit ويضم عدد الزيارات ، فيتم جمعها بشكل طبيعي

ولكني أريد الحصول على مجموع الزيارات في قسم معين ، ولدي في نفس الجدول tt1 صف يحتوي على رقم لكل قسم اسمه id
فاريد ان يظهر المجموع كلما تساوى ال id في الجدول tt1 مع الid في جدول آخر اسمه tt2

آمل افادتنا بهذا الخصوص
وشكراً للاخ انترنت بلس






__________________
إستخدم ملفك الخاص لكتابة توقيعك
janoubi غير متواجد حالياً   قديم 24-04-2005, 08:39 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2002-
#4 (permalink)  

ملاحظة : إذا كانت طريقة الكود بهذا الشكل غير صحيحة لاستدعاء مجموع الزيارات في قسم معين ، فما هو الكود الذي يمكن استعماله ؟

وشكراً






__________________
إستخدم ملفك الخاص لكتابة توقيعك
janoubi غير متواجد حالياً   قديم 24-04-2005, 09:08 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#5 (permalink)  

كود PHP:
<?php
$query
=mysql_query("select sum(visit) visits, b.id bid 
from tt1 a
INNER JOIN tt2 b
ON b.id = a.id
ORDER BY b.id"
);
while(
$total=mysql_fetch_array($query)){
echo 
"<br>" $total['bid'] . ": " $total['visits'];
}
?>
لو كلامك صحيح المفروض الكود يشتغل معاك إن شاء الله ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-04-2005, 12:30 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2002-
#6 (permalink)  

شكراً للاخ انترنت بلس
وقد قمت بالتعديلات اللازمة ولكن لم يعمل الكود كما يجب
لا ادري ان كان استعمال الكود في هذا المورد صحيح ام لا
انا ارغب بان تعرض الاحصائيات الخاصة بكل قسم مثلاً
الكود الخاص بالاحصائيات الشاملة اعلاه يظهر بشكل طبيعي


فهل يمكن الإفادة في الكودات التي تستعمل لهذه الخاصية ؟
وشكراً






__________________
إستخدم ملفك الخاص لكتابة توقيعك
janoubi غير متواجد حالياً   قديم 24-04-2005, 06:46 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#7 (permalink)  

أخي إذا كان ما تريده هو عدد الزيارات لقسم واحد فقط وعندك رقمه فاستخدم جملة where عادية دون التداخل مع الجدول الآخر حيث لا حاجة لك بذلك ..
أما إذا كنت تريد ربط الجدولين بحيث تعرض كل قسم باسمه وأمامه عدد الزيارات الخاصة به فالكود الذي كتبته هو لذلك ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-04-2005, 06:55 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2002-
#8 (permalink)  

الاخ انترنت بلس
اتعبتك معي
نعم ما اريده هو أن يتم ربط الجدولين بحيث تعرض كل قسم باسمه وأمامه عدد الزيارات الخاصة به
ولكن يبدوا اني كنت قد اشتبهت في عنوان احد الصفوف

فإني أريد أن يتم جمع الصف visit من الجدول tt1 عندما يتساوى الصف sht من نفس الجدول tt1 مع الصف id من الجدول tt2
فما هو الذي ينبغي تعديله في الكود أعلاه ؟

وشكراً






__________________
إستخدم ملفك الخاص لكتابة توقيعك
janoubi غير متواجد حالياً   قديم 24-04-2005, 09:47 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#9 (permalink)  

عشان كده أنا قلت "لو كلامك صحيح" شوف يا سيدي ..
<?php
$query=mysql_query("select sum(visit) visits, b.name section
from tt1 a
LEFT JOIN tt2 b
ON b.id = a.sht
ORDER BY b.id");
while($total=mysql_fetch_array($query)){
echo "<br>" . $total['section'] . ": " . $total['visits'];
}
?>
غير name إلى اسم الحقل الذي يمثل اسم القسم في الجدول الثاني ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 24-04-2005, 11:33 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: Mar 2002-
#10 (permalink)  

شكراً للاخ انترنت بلس
ولكن السكود الأخير لم يعمل أيضاً .. ولا أدري ما هو السبب في ذلك

ساراجعه لاحقاً إن شاء الله وإن كان لدى أحد من الإخوة إضافة مفيدة في الموضوع فجزاه الله خيراً






__________________
إستخدم ملفك الخاص لكتابة توقيعك
janoubi غير متواجد حالياً   قديم 30-04-2005, 09:16 AM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Dec 2004-
#11 (permalink)  

أضف على تنفيذ الجملة (قبل علامة نهاية الجملة مباشرة):
or die(mysql_error())
وأخبرني برسالة الخطأ ماذا تقول ..






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس غير متواجد حالياً   قديم 30-04-2005, 07:46 PM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 07:30 AM بتوقيت المملكة العربية السعودية