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

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

بدأه maie في 24 أغسطس 2009 · 11 رد · 1,145 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بســم الله الـرحمــن الرحيــم

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

لدي سكريبت عبارة عن ملأا المنيو علي اساس ما سيختاره اليوزر في المنيو التي قبلها

بتفصيل اكتر هو عبارة عن سكريبت لمدرسة اول دروب داون منيو يوجد بها اسماء المراحل

ابتدائي واعداي وثانوي وتاني دروب داون منيو يوجد بها تقسيمات هذه المراحل مثلا عندما يختار ابتدائي من المنيو الاولي يحب ان يظهر اول وتاني وتالت ابتدائي وهكذا

والمنيو الثالثة التي تعتمد علي الثانية يوجد بها اسماء الفصول فعندما يختار اولي ابتدائي يجب ان يظهر له الفصل الاول والفصل التاني وهكذا

لقد جربتها بهذه الطريقة واكني اريدجها ان تكون ديناميك اريدها ان تتغير من الداتا بيز وليش بيدي

<script language="JavaScript">

<!--

var tennisplayers = new Array("0","KG1","KG2");

var cricketplayers = new Array("0","0","0","Stage1","Stage2","Stage3","Stage4","Stage5","Stage6");

var players3 = new Array("","","","","","","","","","Prep Stage1","Prep Stage2","Prep Stage3");

var players4 = new Array("","","","","","","","","","","","","Secondary stage1","Secondary stage2","Secondary stage3");

function set_player(){

var select_sport= document.form1.sport;

var select_player= document.form1.player;

var selected_sport= select_sport.options[select_sport.selectedIndex].value;

select_player.options.length=0;

if (selected_sport == "1"){

for(var i=1; i < tennisplayers.length; i++)

select_player.options[select_player.options.length] = new Option(tennisplayers,i);

}

if (selected_sport == "2"){

for(var i=3; i < cricketplayers.length; i++)

select_player.options[select_player.options.length] = new Option(cricketplayers,i);

}

if (selected_sport == "3"){

for(var i=9; i < players3.length; i++)

select_player.options[select_player.options.length] = new Option(players3,i);

}

if (selected_sport == "4"){

for(var i=12; i < players4.length; i++)

select_player.options[select_player.options.length] = new Option(players4,i);

}

}

-->

</script>

</head>

<body>

<?

include("connection.php");

$s_id=$_GET['s_id'];

//echo"$s_id";

$s_s_id=$_GET['s_s_id'];

$class_id=$_GET['class_id'];

$id=$_GET['id'];

$sql="select * from student_data where id= $id ";

//echo"$sql";

$result=mysql_query($sql);

while($arr=mysql_fetch_array($result))

{

$id=$arr["id"];

$name=$arr["name"];

$birth =$arr["birth"];

$address=$arr["address"];

$father =$arr["father"];

$comment =$arr["comment"];

$pass=$arr["pass"];

}

?>

<a href="show_student_comments.php?student_id=<? echo $id?>">Show Comments</a>

<form name="form1" method="get" action="edit_student_action2.php">

<table width="60%" border="1" bordercolor="#8DB2E3">

<tr>

<td><span class="style6 style7">Stage</span></td>

<td><span class="style7">

<select name="sport" id="sport" onChange="set_player();">

<?

$sql10="select id,stage from categories ";

$result10=mysql_query($sql10);

while($arr10=mysql_fetch_array($result10))

{

$id10=$arr10["0"];

$s_name=$arr10["stage"];

//echo"maie";

?>

<option value="<? echo"$id10";?>" >

<? echo"$s_name";?> </option>

<? }?>

</select>

</span>    <span class="style8">you have to choose the category</span></td>

</tr>

<tr>

<td><span class="style6 style7">Sub Stage</span></td>

<td><span class="style7"> <select name="player" id="player">

<option value="" selected="selected">Sub stage</option>

</select>

</span> </td>

</tr>

<tr>

<td width="37%"><span class="style3 style7 style7">Name</span></td>

<td width="63%"><span class="style6 style7">

<label>

<input type="text" name="name" id="name" value="<? echo"$name";?>"/>

</label>

<input type="hidden" name="hid1" value=<? echo $_GET['id'] ;?> />

<input type="hidden" name="hid7" value=<? echo "$class_id" ;?> />

</span></td>

</tr>

<tr>

<td><span class="style6">Password</span></td>

<td><label>

<input type="text" name="pass" id="pass" value="<? echo"$pass";?>" />

</label></td>

</tr>

<tr>

<td><span class="style3 style7 style7">Birth Date</span></td>

<td><span class="style6 style7">

<label>

<input type="text" name="birth" id="birth" value="<? echo"$birth";?>"/>

</label>

</span></td>

</tr>

<tr>

<td><span class="style3 style7 style7">Address</span></td>

<td><span class="style6 style7">

<label>

<input type="text" name="address" id="address" value="<? echo"$address";?>"/>

</label>

</span></td>

</tr>

<tr>

<td><span class="style3 style7 style7">Father job</span></td>

<td><span class="style6 style7">

<label>

<input type="text" name="father" id="father" value="<? echo"$father";?>"/>

</label>

</span></td>

</tr>

<tr>

<td><span class="style7 style3 style7">School comment</span></td>

<td><span class="style6 style7">

<label>

<input type="text" name="comment" id="comment" value="<? echo"$comment";?>"/>

</label>

</span></td>

</tr>

<tr>

<td> </td>

<td><label>

<div align="right">

<input type="submit" name="button" id="button" value="Submit" />

</div>

</label></td>

</tr>

</table>

</form>

ارجو الرد في اسرع وقت ممكن وشكرا

#3

:)

تم تعديل هذه المشاركة بواسطة Aimad في 25 أغسطس 2009 في 02:20

#4

اولا سنقوم بهذه العملية بإستعمال منصة العمل jquery الخاصة ب javascript

اولا هذا هو كود javascript وسأقوم بشرحه :



<script type="text/javascript" charset="utf-8">
$(function(){
$("select#stage").change(function(){
$.getJSON("selects.php",{id: $(this).val()}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j.optionValue + '">' + j.optionDisplay + '</option>';
}
$("#substage").html(options);
$('#substarge option:first').attr('selected', 'selected');
});
});
</script>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script>

هنا قمنا بغستقبال التحديد الذي سيكون إسم السيلكت الخاصة به هو : stage كما هو ظاهر في السطر 6 من الكود ويمكنك تغيره لا تشاء بإسم السيلكة المستعملة في التحديد الأول.

فس السطر السابع إستخرجنا محتويات صفحة selects.php?id=""&ajax=true

طبع قيمة id هنا هي القيمة المستخرجة من التحديد الأول التي عن طريقها سنستخرج التحديد الثاني من قاعدة البيانات

في الأسطر 9-10-11-12 قمنا بملأ options بالقيم المستخرجة من ملف selects.php?id="" التي هي بفورمة json

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

الأن كود هتمل المستعمل :


<fieldset>
<label for="stage">Stages : </label>
<select name="stage" id="stage">
<option value="0" selected="selected">Select stage</option>
هنا التحديد الأول إتي به من القاعدة او أكتبه لك الحرية
</select>

<label for="Substage">Substage:</label>
<select name="substage" id="substage>
//هده هنا تكون فارغة <option value=""></option>
</select>
</fieldset>
</form>
<form>

الكود واضح ولايحتاج لكثرة ثرثرة

المهم الكود الأخير وهو كود صفحة selects.php والتي ستتم عليه عملية تحديد التحديد الثانوي


include("connection.php");


if(!isset($_GET['id']))
{
echo "[ {optionValue: 0, optionDisplay: ''} ]";
}
else
{
$id = $_GET['id'];
$getcitysqu = mysql_query("SELECT * FROM substages WHERE sid=$id");

if(mysql_num_rows($getcitysqu) == 0)
{
echo "[ {optionValue: 0, optionDisplay: ''} ]";
}
echo "[";
while($citys = mysql_fetch_array($getcitysqu))
{
$cityid = $citys['RegionID'];
$cityname = $citys['Region'];
echo "{optionValue: $cityid, optionDisplay: '$cityname'}, ";
}
echo "]";
}

?>
<?php

هنا المهم ان المخرج سيكون بالطريقة التي سيفهمها كود javascript المضاف في اول العملية أي بلغة json مع وجود قيمتي optionvalue و optionDisplay من إسميهما ستكون فهمت عملهما.

إن وجدة أي صعوبة بإمكاني الشرح أكثر . طريق xp في تطوير المشاريع لوول

السلام عليكم

#5

بســم الله الـرحمــن الرحيــم

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

متشكرة جدا لحضرتك علي سرعة الرد بس في شوية ملاحظات لاني ما اشتغتش جي كويري قبل كدة الا اكواد جاهزة

اولا انا لما بعمل اليرت فيالفانكشن مش بيتطبق مش عارفة ليه

<script type="text/javascript" charset="utf-8">

$(function(){

$("select#stage").change(function(){

//alert("dddd");

$.getJSON("selects.php",{id: $(this).val()}, function(j){

alert("dddd");

var options = '';

for (var i = 0; i < j.length; i++) {

options += '<option value="' + j.optionValue + '">' + j.optionDisplay + '</option>';

}

$("#substage").html(options);

$('#substarge option:first').attr('selected', 'selected');

});

})

});

</script>

ثانيا

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

ثالثا طبعا الفورم ده بيبقي فيه زرارسابمت زي العادي ولا ايه :blush:

شكرا جزيلا لوقتكم

#6

بالنسبة لسؤال الثاني يمكنك إعادة تشغيل نفس الدالة مه تغير أسماء الحقول الخاصة بسيليكت :

$(function(){

$("select#stage").change(function(){

$.getJSON("selects.php",{id: $(this).val()}, function(j){

var options = '';

for (var i = 0; i < j.length; i++) {

options += '<option value="' + j.optionValue + '">' + j.optionDisplay + '</option>';

}

$("#substage").html(options);

$('#substarge option:first').attr('selected', 'selected');

});

});

بالنسبة لسؤال الأول لم أفهم المقصود بالضبط ؟

#7

بســم الله الـرحمــن الرحيــم

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

بالنسبة للسؤال الاول انا كنت حطيت اليرت في الفانكشن وكلن لم تستجيب واظن ايضا انها لا تري الصفححة

selects.php

لقد قمت بعمل الاليرت والطباعة وغيرها من اجل التأكد من عملها حيث انها لا تعمل نهائيا

وشكرامرة تانية.

#8

اعذريني اختي يمكن إعادة كتابة السؤال الثاني مع ذكر الأسماء والأشياء بالإنجليزية لأني صراحة لم افهم :)

#9

بســم الله الـرحمــن الرحيــم

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

اولا اعتذر بشدة علي التاخر في الرد ولكن لمشكلة عندي في النت

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

للمرة الثانية اعتذر عن كتابتي اسم الدوال باللغة العربية

مقصدي هو انه عند عمل

alert in the function

لا يعمل وهذا يدل علي انه لا يري الدالة او انه لا يري الصفحة المسماه

select.php

وبعد كل هذا كيف اتاكد من انه يعمل حيث انه لم يعمل عندي علي الجهاز

ارغب في التأكد من السبب

وشكرا لوقتكم

#10

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

لقد مر هذا المثال معي من النت وهو ما تريديه بالضبط يمكنك الاستفادة من كود الجافا سكريبت

الملف بالمرفقات ،،

ماذا فقد من وجد حلاوة الإيمان

[وسط]وماذا وجد من فقد حلاوة الإيمان-------------------

[/وسط]

#11

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

لقد مر هذا المثال معي من النت وهو ما تريديه بالضبط يمكنك الاستفادة من كود الجافا سكريبت

انا لم انقح الكود جيدا ولكن اعتقد انه بامكانك التعديل على ملف الكونفيغ بحيث يحضر البيانات من الداتا بيس

الملف بالمرفقات ،،

example.rar

ماذا فقد من وجد حلاوة الإيمان

[وسط]وماذا وجد من فقد حلاوة الإيمان-------------------

[/وسط]

#12

بســم الله الـرحمــن الرحيــم

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

متشكرة جدا جدا علي الرد وعلي النموذج المرفق

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

متشكرة جدا مرة تانية

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