来自数据库的 onchange 下拉列表 - php,没有 java 或 ajax
onchange dropdown list from database - php, without java or ajax
我有一个问题,我想显示从数据库到动态 onchange select 表单的所有行,但它只显示第一行或最后一行。你能帮我一个人吗?
这是我的代码:
<?php
$selected11 = '';
function get_options11($vyber11) {
$queryyy = mysql_query("SELECT funkcia, ID_funk FROM funkcie");
while($row = mysql_fetch_array($queryyy)) {
$v11=$row['ID_funk'];
$k11=$row['funkcia'];
$moznosti11 = '';
if($vyber11==$v11){
$moznosti11.='<option value="'.$v11.'" selected>'.$k11.'</option>';
} else{
$moznosti11.='<option value="'.$v11.'">'.$k11.'</option>';}
}
return $moznosti11;
}
if(isset($_POST['funkcia'])) {
$selected11 = $_POST['funkcia'];
}
}
?>
<select name="funkcia" class="ramceky" style="width: 150px; height: 40px" onchange="this.form.submit();">
<option><?php echo get_options11($selected11); ?></option>
</select>
问题是你return有选项,变成一个<option>
。
改变这个:
<option><?php echo get_options11($selected11); ?></option>
对此:
<?php echo get_options11($selected11); ?>
您在每个循环中分配变量 $moznosti11;
。
将它移到 while 循环之前,它应该像 charm 一样工作。
看这里:
$moznosti11 = '';
while($row = mysql_fetch_array($queryyy)) {
$v11=$row['ID_funk'];
$k11=$row['funkcia'];
if($vyber11==$v11){
$moznosti11.='<option value="'.$v11.'" selected>'.$k11.'</option>';
} else{
$moznosti11.='<option value="'.$v11.'">'.$k11.'</option>';}
}
return $moznosti11;
}
我有一个问题,我想显示从数据库到动态 onchange select 表单的所有行,但它只显示第一行或最后一行。你能帮我一个人吗?
这是我的代码:
<?php
$selected11 = '';
function get_options11($vyber11) {
$queryyy = mysql_query("SELECT funkcia, ID_funk FROM funkcie");
while($row = mysql_fetch_array($queryyy)) {
$v11=$row['ID_funk'];
$k11=$row['funkcia'];
$moznosti11 = '';
if($vyber11==$v11){
$moznosti11.='<option value="'.$v11.'" selected>'.$k11.'</option>';
} else{
$moznosti11.='<option value="'.$v11.'">'.$k11.'</option>';}
}
return $moznosti11;
}
if(isset($_POST['funkcia'])) {
$selected11 = $_POST['funkcia'];
}
}
?>
<select name="funkcia" class="ramceky" style="width: 150px; height: 40px" onchange="this.form.submit();">
<option><?php echo get_options11($selected11); ?></option>
</select>
问题是你return有选项,变成一个<option>
。
改变这个:
<option><?php echo get_options11($selected11); ?></option>
对此:
<?php echo get_options11($selected11); ?>
您在每个循环中分配变量 $moznosti11;
。
将它移到 while 循环之前,它应该像 charm 一样工作。
看这里:
$moznosti11 = '';
while($row = mysql_fetch_array($queryyy)) {
$v11=$row['ID_funk'];
$k11=$row['funkcia'];
if($vyber11==$v11){
$moznosti11.='<option value="'.$v11.'" selected>'.$k11.'</option>';
} else{
$moznosti11.='<option value="'.$v11.'">'.$k11.'</option>';}
}
return $moznosti11;
}