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

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

بدأه mohmadalmasre في 14 ديسمبر 2013 · 10 رد · 1,138 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيفكم أعضاء المنتدى الكرام 

لدي مشكلة بسيطة حاولت جداً إني أحصل على حل لمشكلتي فأجتهدت وتعبت لكن لا حل 

لذلك أرغب في مساعدة تدلني على فكرة لحل المشكلة

 

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

$get_friend_list = mysql_query("select * from friend_request where res_id='$s_user_id' order by friend_id asc ");

###### إحضار أصدقاء العضو نستعلم لكي نحضر الأعضاء الأصدقاء للعضو صاحب السيشن الحالية
$num_friend_list = mysql_num_rows($get_friend_list);

################## إيجاد النتائج


if($num_friend_list == 0){
################## إذا كانت النتائج تساوي الصفر


echo"
لا يوجد لديك أصدقاء بعد
";


################## إذا كانت النتائج تساوي الصفر
}else{
while($fetch_friend_list = mysql_fetch_object($get_friend_list)){

################# #إذا لم تساوي الصفر طباعة النتائج

$sen_id = $fetch_friend_list->sen_id;


################# هذا المتغير يحتوي على أيدي الأعضاء الأصدقاء للعضو صاحب الجلسة



$get_posts = mysql_query("select * from state where u_id='$sen_id' ");

################# الإستعلام عن المنشورات التي وضعها أصدقاء العضو أي أصحاب ايدي المتغير

while($fetch_post = mysql_fetch_object($get_posts)){

################# طباعة النتائج


$p_data = $fetch_post->p_data;
#### تاريخ المنشور
$p_time = $fetch_post->p_time;
### وقت المنشور
$p_img = $fetch_post->p_img;
### صورة المنشور


if($p_img == ''){
$p_img_img = "";
### إذا كانت الصورة فارغة لا تكتب صورة
}else{
$p_img_img = "";
############ مش مهم مسحته ليعمل الموضوع 
}


$p_post = $fetch_post->u_p;
### المنشور
$p_user = $fetch_post->u_id;
### ايدي العضو صاحب المنشور

$fet_user_list = mysql_query("select * from user1 where user_id='$p_user'");
### إستعلام عن معلومات العضو صاحب ايدي العضو صاحب المنشور
while($fetch_user_list = mysql_fetch_object($fet_user_list)){


$user_f_name = $fetch_user_list->fname;
### الإسم الأول

$user_s_name = $fetch_user_list->sname;
### الإسم الثاني


################### طباعة النتائج في جدول

echo"

$user_f_name $user_s_name



$p_time $p_data

$p_post
$p_img_img
تعليق
";
}
}
}
}

?>

هذا الكود يطبع لي النتائج هكذاً 

 

oou10.jpg

 

 

 

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

 

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

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

أرجو المساعدة 
والسلام عليكم ورحمة الله وبركاته

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 20 ديسمبر 2013 في 23:06 — السبب: إضافة وسم الكود

110.jpg
#2

up up help 

110.jpg
#3

أخى العزيز طريقة كتابة الكود اللى أنت كاتبة لا تساعد إخوانك حتى يساعدوك.

يوجد أيقونة بهذا الشكل code.png?t=3dd166d83264b9d7b7755bb8f6e4f فى محرر الموضوع, تستخدم لإضافة الكود بشكل صحيح للتسهيل على باقى الاخوة من مراجعة موضوعك .

تم تعديل هذه المشاركة بواسطة مستر برمجة في 19 ديسمبر 2013 في 01:50

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#4

تم تعديل المشاركة أخي مستر برمجة

أخي الكريم mohmadalmasre حاول تنسيق المشاركة في المستقبل ليزداد عدد المشاركين بفعالية ..

وفقك الله :)

أرجو أن تجد الإجابة المناسبة لسؤالك

 

والله ولي التوفيق

#5

لتسهيل الامور يجب ان اكون اكثر احترافية , الاستعلامات جيدة ولكن يمكن اختصارها في استعلام واحد اخي الفاضل

حاول الاستعلام عن اكثر من جدول مرة واحدة

لاحظ هنا ما الذي يلزمنا

1- العضو الحالي

2- الاعضاء الاصدقاء له

3- المنشورات للاعضاء حسب الترتيب الزمني

4- عدد المنشورات المراد عرضها !؟؟ لم ارك تتطرق اليها ولكن يجب ان تضعها في الحسبان

 

لذلك يجب كتابة استعلام يشمل كل هذا البنود دفعة واحدة

حاول اخي , واذا احتجت المساعدة ساتفرغ ان شاء الله لكتابة مثال لهذا الاستعلام

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#6

شكراً مرة أخرى أخي 

Hamdan Taima 
لكني حاولت بطباعة الإستعلامات بحالتها الحالية عند فشلي في حل المشكلة بإستعلام واحد أو فانكشن وحدة 
110.jpg
#7

أخى العزيز

 

طبعا أنا لم أفهم سؤالك جيدا, لكن كل ما فهمتة أنك عاوز تطبع البيانات بحسب ترتيب المنشورات, يمكن عمل ذلك بالترتيب حسب تاريخ الإضافة, يعنى اعمل الترتيب حسب التاريخ ( ORDER BY date ) وليس بالاى دى .

 

ولو أنا فاهم سؤالك خطأ ياريت توضحة أكثر .

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#8

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

بمعنى ينتهي من منشورات الأول ثم ينتقل إلى الثاني ولا ينظر إلى طلبي للمنشورات حسب التاريخ 

110.jpg
#9

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

post_user
يحتوي على القيم بالترتيب التالي 
1
1
3
4
1
1
هل يمككني تنفيذ الإستعلام عن الأيدي رقم 1 مرة 
ومن ثم يعود لكي ينفذه من جديد للأيدي رقم 1
وبعدها يعود

للرقم 3

وبعدها 4 

ثم يعود للـ 1 أي بالترتيب لا يظهر 

 

ولا يتسعلم لي عن الرقم واحد مرة واحدة في كل الأسطر 
هل وصلت الفكرة ؟ 

110.jpg
#10

ربما السبب الرئيسي لعدم الوصول لحل هو عدم توضيح المشكلة بشكل صحيح , وانا احد الذين لم يدركوا المشكلة لحتى الان سوى انك تريد الاستعلام من اكثر من جدول ,

يهمنا جدا ان نفهم المشكلة بشكل واضح حتى يكون الحل امثلا ً

لذا سأفترض ان هناك جدول للاعضاء اسمه members و جدول اخر للعلاقات بين الاعضاء ( الصداقات ) واسمه relations  و جدول اخر للبوستات او المواضيع واسمه topics

الان سنحاول عرض مواضيع العضو رقم 25 مثلا

$result=mysql_query("select * from topics where member=25 order by id desc");


يبدو جميلا ً

الان دعنا نجلب مواضيع اصدقائه

$friendsPosts=mysql_query("select topics.id, topics.contents , members.name from relations,topics,members where relations.friendof=25 and topics.member=relations.friend and members.id=relations.friend");

// ملاحظة : لم يتم التأكد من صحة الاستعلام لكن نظريا الفكرة هكذا
التفسير:
نستعلم عن جميع المواضيع و الاسماء لاصدقاء العضو 25  

اتمنى ان اكون قد افدت قليلا او انرت لك طريقاً لمزيد من التنوير

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

#11

شكرا أخوتي تم حل المشكلة عن طريق إعادة هيكلة الكود وتصميمه من جديد شكراً جزيلا لكم وأعتذر عن إشغالكم بالفكرة  :D !!

110.jpg

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…