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

أستدعى المعلومات من جدولين متشابهين

بدأه BLEACHHeart في 12 أبريل 2008 · 9 رد · 892 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام عليكم.. مشكلة جديد :wacko:

هذه المرة المشكلة هي كالتالي..

هناك جدولين يحويان ذات المعلومات ما عدا المعلومات الداخليية.. مثلاً

ali(id,name,surname)
ali2(id,name,surname)

... و هنا مشكلتي.. في الكود الرئيسي خاص بي.. أريد أستدعي المعلومات بحيث المستخدم يختار ذلك.. حسناً.. دعنا نقول أن هناك أسبايع.. أريد أختار الأسبوع الأول تظهر نتيجته أو أختار الأسبوع الثاني وتظهر نتيجته (كلا الأسبايع تحوى بداخل الجدوال أسماء العمود متشابها مثلا days, hours).. لكن لا أنجح عجزت و تعبت.. لا أعرف كيف أضبط الكود لعكم تعينوني في ذلك

هذا الكود الرئيسي فوق كان مثال

 

<?php
$connect= @mysql_connect("localhost","root","");
$db=@mysql_select_db("]$db=@mysql_select_db("",$connect);
$query="SELECT *  FROM weeks";
$query2="select * from weeks_2";
$result= @mysql_query($query,$a)or die('Error ' . mysql_error() . ' in ' . $query);
$result2= @mysql_query($query2,$a)or die('Error ' . mysql_error() . ' in ' . $query);
$form="<form action=\"Weeklist2.php\" method=\"post\"><Select name=\"weekment\">";
$name=mysql_fetch_array($result);
$name2=mysql_fetch_array($result2);
	$form.="<option value=\$name[result]\">week</option><br />
			<option value=\$name2[result2]\">Week2</option><br />";

$form.="<br/></select><input type=\"submit\" name=\"submit\" value=\"Go\" /></form>";

echo $form;

?>

هنا يجب على الكود أن يقوم بستدعاء الجدولين .. بالواقع نجحت بذلك يستدعي الجدولين لكن المشكلة بالتحت

<?php
$connect= @mysql_connect("localhost","root","") or die('Error ' . mysql_error() . ' in ' . $query);
$db=@mysql_select_db("]$db=@mysql_select_db("",$connect) or die('Error ' . mysql_error() . ' in ' . $query);
$query="select * from weeks,weeeks_2";
$result=@mysql_query($query,$connect");
$i=0;
while ($i<6) {
	$message=mysql_fetch_array($result);
	echo"
	<table border='1' width='50%'>
			  <tr>
	 <td width='165'>ヌ睫ヌム﨔</td>
	 <td width='141'>矼ネヌムヌノ</td>
	 <td width='141'>ヌ礦゙ハ</td>
	 <td width='141>ヌ矼瞽ネ</td>
	 <td width='121'>ヌ睿フ贅ヌハ</td>
					  <td width='121'>ヌ睿フ贅ヌハ</td>
			   <tr>


				 <td width='165'>$message[MatchID]</td>
	 <td width='141'>$message[Matchdate]</td>
	 <td width='141'>$message[Stadium]</td>
	 <td width='141'>$message[Club1]</td>
	 <td width='121'>$message[Club2]</td>
		 </tr>
   </table>";$i++;
			 }


?>

لا يظهر لدي شيء.. دائماً تظهر النتجة واحد وهي نتيجة Week_2 قرأت بأحدى المواقع أنه في الكويري أخر جدول أو عمود تظيف يظهر لك اذا كانت لديك جدولين لذا عليك الأستخدام Alias لكن حاولت لم يظهر لدي شيء عندما نفذته .. هذا تنفيذ

<?php
$connect= @mysql_connect("localhost","root","") or die('Error ' . mysql_error() . ' in ' . $query);
$db=@mysql_select_db("]$db=@mysql_select_db("hallbird",$connect) or die('Error ' . mysql_error() . ' in ' . $query);
$query="SELECT weeks.* AS foo, weeks_2.* AS bar FROM weeks,weeks_2";
$result=@mysql_query($query,$connect);
$name=mysql_fetch_array($result);
echo "$name[MatchID]";

هل من حل أزاء هذه المشكلة :S

تم تعديل هذه المشاركة بواسطة BLEACHHeart في 12 أبريل 2008 في 12:27

#2

أتمنى من شباب أن يقوم بمساعدتي.. لأني فعلاً مضطر :(

#3

اخي الكريم , لكي نتمكن من مساعدتك نريد منك ترفق مثالك كاملاً مع قاعدة البيانات , بغير ذلك لانستطيع المساعدة لعدم توفر المعلومات ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#4

شكراً أخي لنتباهك..

سأقوم بذلك بساعات القادمة

شكراً

#5

مرحبا، أود الأعتذار عن تقديم المشكلة بصورة كاملة، أن شاء لله الأن تتضح..

]في البدء هذه الصورة للجدولين

الجدول الأول، أنتبه التورايخ ال MatchDate كله تبدأ بشهر 12 - 2007

791458-271.jpg

الجدول الثاني ، تاريخ بيدأ بشهر 4 -2008

791458-272.jpg

يجب تنفيذ هذا الكود

<?
php

$a= @mysql_connect("localhost","root","");
$db=@mysql_select_db("hallbird",$a);
$query="SELECT *  FROM weeks";
$query2="select * from weeks_2";
$result= @mysql_query($query,$a)or die('Error ' . mysql_error() . ' in ' . $query);
$result2= @mysql_query($query2,$a)or die('Error ' . mysql_error() . ' in ' . $query);
$form="<form action=\"Weeklist2.php\" method=\"post\"><Select name=\"abbas\">";
$name=mysql_fetch_array($result);
$name2=mysql_fetch_array($result2);
$form.="<option value=\$name[result]\">$name[Matchdate]</option><br/>
<option value=\$name2[result2]\">$name2[Matchdate]</option><br />";
$form.="<br/></select><input type=\"submit\" name=\"submit\" value=\"Go\" /></form>";
echo $form;
?>

الذي من شأنه أن يقوم بتوصيل الى الجدولين لتظهر هذه النتيجة

791458-273.jpg

تعمدت أستخدام التوريخ لتأكد أنه متصل بالجدولين .. و قد تم الأتصال.. لكن المشكلة أن في أظاهر النتائج ..

المشكلة تكمن هنا عندما أضعط على أحد التاريخين تبدو النتيجة ثابتة لا تتأخير مهما فعلت، دائماً تظهر النتيجة Weeks_2 لو حتى أخترت week1 ..

هذا الكود الثاني

<?php

$a= @mysql_connect("localhost","root","") or die('Error ' . mysql_error() . ' in ' . $query);
$db=@mysql_select_db("hallbird",$a) or die('Error ' . mysql_error() . ' in ' . $query);
$query="select * from weeks,weeks_2";
$result=@mysql_query($query,$a);
for ($b=0; $b<6; $b++) {

$message=mysql_fetch_array($result);
echo"
<table border='1' width='50%'>
<tr>
<td width='165'>1</td>									
<td width='141'>2</td>									
<td width='141'>3</td>
<td width='141>4</td>
<td width='121'>5</td>
<td width='121'>6</td>
</tr>
 <tr>
<width='165'>$message[MatchID]</td>
<td width='141'>$message[Matchdate]</td>
<td>$message[Stadium]</td>
<td>$message[Club1]</td>
<d width='121'>$message[Club2]</td>
</tr>
</table>";
?>

791458-274.jpg

دائماً هكذا لا أعرف لم..

قرأت بأحد الموقع السبب يعود الى الكويري في الكود ثاني

 

$query="select * from weeks,weeks_2";

لأن تكون weeks_2 في أخر السكول لهذا تستدعي نتيجة weeks_2، و فعلاً هذا صحيح عندما غيرت أمكان تغير النتيجة

$query="select * from weeks_2 weeks”;

ظهرت نتيجة ويكس

791458-275.jpg

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

$query="SELECT weeks.* AS foo, weeks_2.* AS bar FROM weeks, weeks_2";

عذراً على الأطالة، لكن لأضاح الصورة

في أمان لله

تم تعديل هذه المشاركة بواسطة BLEACHHeart في 14 أبريل 2008 في 16:17

#6

شاكر لك مجهود اخي BLEACHHeart .

انا قصدت بالارفاق ان ترفق ملفات الـ PHP و وترفق ملف قاعدة البيانات من خلال تصديره من برنامج phpmyadmin , سوف تجد هناك خيار Export . اختر قاعدة بياناتك المطلوبة ومن ثم Export , وسوف ينتج لك ملف سيحتوي على بنية قاعدة البيانات مع البيانات نفسها وبالتالي ساتمكن من استيرادها عندي . وكذلك ارفق ملفات الـ php . يعني سوف ترفق ملف قاعدة البيانات وملفات الـ php في ملف واحد مضغوط ..

ارجوا ان تكون فهمت المقصود ..

تم تعديل هذه المشاركة بواسطة محمد معاشر في 14 أبريل 2008 في 16:24 — السبب: غلطه مطبعية ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#7

:S هااااه

سأقوم بأرسله لك على الخاص..

شكراً أخي

تم تعديل هذه المشاركة بواسطة BLEACHHeart في 14 أبريل 2008 في 16:35

#8

السلام عليكم ..

بالنسبه للبرنامج , فكان هناك بعض الاخطاء المنطقية فيه .

اهم نقطه اود لفت انتابهك اليها هي انك لم تستخدم عباره WHERE في الاستعلام الذي كتبته والتي كانت سوف تحقق المطلوب الذي تريده ..

ارفقت لك الملفات , حاول ان تتعرف على التعديلات التي اجريتها ..

code.zip

تم تعديل هذه المشاركة بواسطة محمد معاشر في 15 أبريل 2008 في 11:47

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#9

أخي أحسنت فعلاً أحسنت و وفق لله لكل ما تحب و ترضى,,

لكن المشكلة النتائج لازالت قائمة..

النتائج لو لاحظت هي ذاتها لا تتغير .. دائماً نتيجة التي تظهر هي weeks_2 و نتيجة weeks لا تظهر

المشكلة قائمة هنا

$query="SELECT * FROM weeks w1,weeks_2 w2 where w1.MatchID='$match_date' or w2.MatchID='$match_date'";

فلو قمت تبديل مكان weeks_2 ب weeks لظهرت نتيجة weeks بدلا من weeks_2

شكراً أخي جزيلاً لمساعدتك أتمنى أن تجد حل..

تم تعديل هذه المشاركة بواسطة BLEACHHeart في 15 أبريل 2008 في 15:31

#10

لماذا كل هذا التعقيد ؟ يمكنك بكل بساطه تنفيذ استعلامين منفصلين , وتقوم بالعرض فقط اذا لم تكن نتيجه الاستعلام فارغة ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

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

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

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

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

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