PDA

View Full Version : سوال: گرفتن 2 تا لیست drop down دینامیکی php از mysql دیتابیس



webdesignmzm
دوشنبه 21 اردیبهشت 1388, 01:56 صبح
سلام
من 2 تا لیست drop down دینامیکی دارم که هر دو لیست اطلاعات را از mysql میگیره و نشون میده و لیست دوّم خالی هست. اگر در لیست اوّل گزینه ای انتخاب شود لیست دوم هم فعّال شده و گزینه های مرتبط به لیست دوّم را نشان میدهد. مثلاً اگر از لیست اوّلی که از tabe میوه ها از mysql گرفته شده گزینه میوه ها را انتخاب کنیم لیست دوم گزینه های (مربوط به میوه ها را نشان بدهد) پرتقال و انار و... را نشان بدهد.
tabe اول (اسمش product_name هست) از 4 تا row تشکیل شده:
1=> id
2=> menu_name
3=> position
4=> visible


tabe دوّم (اسمش product_model هست) از 5 تا row تشکیل شده و با proname_id به دوّم متّصل شده:
1=> id
2=> proname_id
3=> menu_name
4=> position
5=> visible
من با تشکّر بسیار فراوان از شما پیشاپیش ممنون میشم اگر بتوانید مشگل من را که حدود 2 ماه هست سرش گیر کردم رو حل کنید!
این هم کدی هست که من میخواهم روش منوی دوم رو فعّال کنم اگر احتیاج به فایلهای دیتابیس داشتید لطفاً به من ایمیل کنید: daniel.moghadam@gmail.com


<?php require_once('Connections/cars.php'); ?>
<HTML lang=fa dir=rtl xmlns="http://www.w3.org/1999/xhtml">
<head>
<TITLE>content</TITLE>


<META http-equiv=Content-Type content="text/html; charset=UTF-8">
<META content="MSHTML 6.00.6001.18226" name=GENERATOR>
<link href="css/security.css" rel="stylesheet" type="text/css" />
</head><body class="miveh_ha">
<div id="page">
<div id="header"></div>
<div id="menubar">
</div>
<div id="mainContent">
<table width="780" border="0" cellspacing="0" cellpadding="0">
<tr align="left" valign="top">
<td width="200" bgcolor="#493852">
<table width="200" border="0" cellpadding="0" cellspacing="0" id="sidebar">
<tr>
<td valign="top"><form name="form1" method="post" action="">
<table width="200" border="0" cellspacing="0" cellpadding="6">
<tr>
<td width="66" height="50">&nbsp;</td>
<td width="110">&nbsp;</td>
</tr>
<tr>



ادامه کد را در زیر همین پست بخوانید

webdesignmzm
دوشنبه 21 اردیبهشت 1388, 01:56 صبح
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
}


$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);


switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_pro, $all);
$query_rs_names = "SELECT * FROM product_name ORDER BY position";
$rs_names = mysql_query($query_rs_names, $all) or die(mysql_error());
$row_rs_names = mysql_fetch_assoc($rs_names);
$totalRows_rs_names = mysql_num_rows($rs_names);


?>


<td align="left" nowrap><label for="name_list" class="pronames-left">نوع محصولات</label></td>
<td align="right"><select name="name_list" class="pronames" id="name_list">
<option value="">... انتخاب ...</option>
<?php
do {
?>
<option value="<?php echo $row_rs_names['menu_name']?>"><?phpecho $row_rs_names['menu_name']?></option>
<?php
} while ($row_rs_names = mysql_fetch_assoc($rs_names));
$rows = mysql_num_rows($rs_names);
if($rows > 0) {
mysql_data_seek($rs_names, 0);
$row_rs_names = mysql_fetch_assoc($rs_names);
mysql_select_db($database_pro, $all);
$query_rs_models = "SELECT * FROM product_model WHERE proname_id = {$row_rs_names["id"]} ORDER BY position";
$rs_models = mysql_query($query_rs_models, $all) or die(mysql_error());
$row_rs_models = mysql_fetch_assoc($rs_models);
$totalRows_rs_models = mysql_num_rows($rs_models);
}
?>


</select></td>
</tr>
<tr>
<td align="left" nowrap><label for="model_list" class="names-left">نام محصول</label></td>
<td align="right"><select name="model_list" class="names" id="model_list">
<option value="">... انتخاب ...</option>
<?php
do {
?>
<option value="<?php echo $row_rs_models['menu_name']?>"><?phpecho $row_rs_models['menu_name']?></option>
<?php
} while ($row_rs_models = mysql_fetch_assoc($rs_models));
$rows = mysql_num_rows($rs_models);
if($rows > 0) {
mysql_data_seek($rs_models, 0);
$row_rs_models = mysql_fetch_assoc($rs_models);
}
?>


</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form></td>
</tr>
</table>
</td>
<td width="580">
<table width="580" border="0" cellpadding="5" cellspacing="0" id="area">
<tr>
<td height="39" id="staff_area_page">
<h2 class="area_title">صفحه اطّلاعات</h2>
</table>
</td>
</tr>
</table>
</div>
<div id="footer">
</div>
</div>
</center>
</body>
</html>
<?php
mysql_free_result($rs_models);


mysql_free_result($rs_names);
?>

narsic
دوشنبه 21 اردیبهشت 1388, 17:46 عصر
با سلام
دوست عزیز من متوجه مشکلتون نشدم اما اگه قصد دارید پس از انتخاب یک گزینه از لیست اول لیست دوم بر اون اساس پر بشه بدونه تغییر صفحه باید از ایجکس استفاده کنید .
در مورد ایجکس هم در سایت بحث های زیادی ایجاد شده بگردید پیدا میکنید .
موفق باشید

yaqubian
دوشنبه 21 اردیبهشت 1388, 22:39 عصر
دوست عزیز
همونطور که narsic عزیز فرمودن باید از ajax استفاده بفرمایید.
یه جستجو کنید قبلا بحث شده.
موفق باشید