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

استفسار عن ادخال بيانات بقائمة منسدلة معتمدة على قائمة منسدلة اخرى

مغلق
بدأه أصيل في 29 مايو 2006 · 7 رد · 1,541 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الاخوة الكرام /

لدي قاعدة بيانات بها ثلاثة جداول : بيانات الموظفين - بيانات الاقسام - الاجازات

بحبث تدخل بيانات الموظف رقم الموظف ،الاسم ،.... رمز اقسم

بيانات الاقسام : رمز القسم ، اسم القسم، رئيس القسم

الاجازات :رقم الموظف ،القسم ،رقم الاجازة ، بدايتها ، نهايتها .

الحمد لله تم الربط بين الجداول وادخال البيانات وعرضها .

المطلوب هو اود ادخال الاجازة عن طرق صفحة تحوي :

1- قائمة منسدلة تحوي الاقسام المدخلة في جدول الاقسام.

2- قائمة منسدلة اخرى بها الموظفين فقط بذلك القسم الذي تم اختياره في القائمة الاولى .

3- بقية حقول جدول الاجازات : رقم الاجازة ، بدايتها ، نهايتها .

#2

هذا يتطلب إستخدام كود Javascript

وهناك طريقتين

1- تعبأة القوائم مرة واحدة بجميع الأقسام والموظفين وعند إختيار المستخدم لقسم يقوم الكود بعرض الموظفين لهذا القسم.

وهذه الطريقة عملية عندما تكون السجلات قليلة ولا تستهلك الوقت أو المساحة.

مثال

<body>
<center>
<FORM name=dc>
<P>
<SELECT name=box1 onchange=where(this.options.selectedIndex)> 
  <OPTION selected>HTML</OPTION> 
	<OPTION>IE</OPTION> 
  <OPTION>Javascript</OPTION></SELECT>	
	<SELECT name=box2> 
	<OPTION  selected value=doubledemo.htm>Tables</OPTION> 
	<OPTION  value=doubledemo.htm>Frames</OPTION> 
	<OPTION  value=doubledemo.htm>Tags</OPTION></SELECT>	 
	<INPUT onclick=gothere() type=button value=Go there!> </P>
<script>

var groups=document.dc.box1.options.length
var subject=new Array(groups)
for (i=0; i<groups; i++)
subject=new Array()

subject[0][0]=new Option("Tables","doubledemo.htm")
subject[0][1]=new Option("Frames","doubledemo.htm")
subject[0][2]=new Option("Tags","doubledemo.htm")

subject[1][0]=new Option("Background","doubledemo.htm")
subject[1][1]=new Option("Border","doubledemo.htm")
subject[1][2]=new Option("Lamp Effect","doubledemo.htm")

subject[2][0]=new Option("Browser Sniffer","doubledemo.htm")
subject[2][1]=new Option("Growing Image","doubledemo.htm")
subject[2][2]=new Option("Text Scroller","doubledemo.htm")

var temp=document.dc.box2

function where(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<subject[x].length;i++){
temp.options=new Option(subject[x].text,subject[x].value)
}
temp.options[0].selected=true
}

function gothere(){
location=temp.options[temp.selectedIndex].value
}
</SCRIPT>
</FORM>
</center>
</body></html>

2- تعبأ قائمة الأقسام فقط وعندما يقوم المستخدم بإختيار القسم يقوم الكود يتحديث الصفحة لطلب الموظفين لهذا القسم وهذه الطريقة عملية عندما يكون عدد السجلات كبيرا.

وظهرت حديثا تقنية AJAX التي تمكنك من طلب البيانات بدون تحديث كامل الصفحة

الملف المرفق به مثال لهذه التقنية مع ملف البي اتش بي يمكنك تعديلة لتحديث بيانات الموظفين حسب القسم

AJAX.rar

تم تعديل هذه المشاركة بواسطة khh في 30 مايو 2006 في 09:39

#3

أخي الفاضل شكرا على تفضلك بالرد علي بالنسبة لي افضل الطريقة الثانية لان عدد الموظفين كبير لدي

عندي ملاحظة حملت الملف المرفق ولكن عند اختيار الدولة لايعطيني الولايات التي داخلها هل انشا جدول في القاعدة ام ماذ.

طبعا انا اريد القائمة الاخرى تقرأ البيانات من جدول الموظفين ( حقل اسماء الموظفين )

والقائمة الاولى ممكن اكتب الاقسام بنفس الاسم الموجود في جدول الاقسام حقل اسم القسم .

شكرا لك مرة اخرى وبانتظار الرد .

#4

ممكن تضع لي الجدولين مع بعض البيانات وسأحاول تعديل الملف وتجهيزه لك

#5

أعتذر أخ أصيل لقد نسيت أهم ملف وهو مرفق الآن

أرجو وضعه في نفس المجلد

ajax.rar

#6

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

لكن عند تجربة الملف اللي ارسلته كاملا يظهر رسالة الخطأ :

There was a problem retrieving the XML data:

هل يلزم تعديلات على الملف

اع>رني اخي انا مبتدئ وليس لدي اي خبرة بـ ajax

#7

أخى العزيز / أصيل

أظن أن أفضل حاجة للموضوع ده هو التعامل مع قواعد البيانات

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

حاول فهم الكود فهوا سهل جداً جداً جداً

ولو وقف أى شئ برجاء طرحه فى موضوعى " أنشئ موقع كامل فى يوم واحد"

وأود أن ألفت نظرك لأننى قمت ببشرح الأكواد المرفقة هناك

فلو تفضلت بزيارتها أكون سعيد جداً

سلام عليكم

addsubjrt.rar

نعيب زماننا والعيب فينا ****** ومالزماننا عيب سوانا

اللهم أعز الإسلام والمسلمين

#8

اخي الفاضل bakrmohamed84 جزاك الله خير على تفضلك بالرد على موضوعي

انا بالفعل متابع معك لكوني مبتدئ وابحث ان اي معلومة ويمكن ملاحظة ردودي على موضوعك

عموما كان سؤالي قبل طرح شرح الاكواد .

والتمسوا لنا العذر والسرعة في طلب المعلومة يامعاشر الخبراء .

هذا الموضوع مغلق.

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

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

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

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

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