无法基于从php中的列表框中获取的值获取mysql记录
我一直在尝试通过表单在mysql中添加一条记录。我能够做到。添加记录后,我将获取所有记录的主键以填充列表框。在列表框的单击事件中,我希望获取所选记录的完整详细信息。我已经尝试了以下代码。我可以添加记录并填充列表框,但不能根据从列表框中选择的值获取记录。有谁能提出建议吗。提前谢谢。 我的代码如下-无法基于从php中的列表框中获取的值获取mysql记录,php,mysql,listbox,Php,Mysql,Listbox,我一直在尝试通过表单在mysql中添加一条记录。我能够做到。添加记录后,我将获取所有记录的主键以填充列表框。在列表框的单击事件中,我希望获取所选记录的完整详细信息。我已经尝试了以下代码。我可以添加记录并填充列表框,但不能根据从列表框中选择的值获取记录。有谁能提出建议吗。提前谢谢。 我的代码如下- <!-- File Name - insert_and_drop_down_list.php This file performs following actions -
<!--
File Name - insert_and_drop_down_list.php
This file performs following actions -
(1) Insert record into the database table
(2) Fetch records from the same table, Populate listbox
(3) At the click event of the listbox, display the data
-->
<html>
<head>
<title>Insert And Drop Down List</title>
<SCRIPT language=JavaScript>
function reload(form)
{
var e = document.getElementById("lstName");
var val = e.options[e.selectedIndex].value;
//var val=form.lstName.options[form.lstName.options.selectedIndex].value;
self.location='insert_and_drop_down_list.php?param_name=' + val ;
//window.alert(val);
document.write(val);
}
</script>
</head>
<body>
<form action="insert_and_drop_down_list.php">
Name : <input type="text" name="txtName"/></br>
Age : <input type="text" name="txtAge"></br>
Gender : <input type="text" name="txtGender"/></br>
Occupation : <input type="text" name="txtOccupation"/><br>
<input type="submit" name="btnSubmit" value="Sign Up"/><br/>
</form>
</body>
</html>
<?php
$name=isset($_REQUEST['txtName'])?$_REQUEST['txtName']:"";
$age=isset($_REQUEST['txtAge'])?$_REQUEST['txtAge']:"";
$gender=isset($_REQUEST['txtGender'])?$_REQUEST['txtGender']:"";
$occupation=isset($_REQUEST['txtOccupation'])?$_REQUEST['txtOccupation']:"";
$con = @mysql_connect("localhost","root","");
$db = mysql_select_db("db_insert_and_drop_down_list");
if(isset ($_REQUEST['btnSubmit']))
{
$sql = "INSERT INTO tbl_employee(col_name,col_age,col_gender,col_occupation)values('$name','$age','$gender','$occupation')";
$status=mysql_query($sql);
$sql2 = "SELECT * FROM tbl_employee ORDER BY col_name ASC";
$rs = mysql_query($sql2);
echo "<select name='lstName' onchange=\"reload(this.form)\">
<option value=''>Select one</option>";
while($row = mysql_fetch_array($rs))
{
echo "<option value='$row[col_name]'>$row[col_name]</option>"."<BR>";
}
echo "</select>";
//echo "<input type='submit' name='btnDisplayRecord' value='Display Record'>";
}
//and strlen($param_name) > 0
$param_name=isset($_REQUEST['param_name'])?$_REQUEST['param_name']:"";
echo $param_name;
if(isset($param_name))
{
$sql3 = "SELECT * FROM tbl_employee WHERE col_name='$param_name'";
$rs_emp = mysql_query($sql3);
echo "pppppppppppppppppppppppppp";
echo "$param_name";
echo "nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn";
while($row_emp = mysql_fetch_array($rs_emp))
{
echo "aaaaaaa";
echo $row_emp['col_name'];
//echo "<input type='text' name='txtName' value=".$row_emp['col_emp']."/></br>";
}
}
mysql_close();
?>
请看一看并说明方向。谢谢。- 现在正在遵循的是当前的命名约定>我很高兴我不必使用这种命名结构。tbl,col。。。这会让我发疯的
- 因为我正在处理遗留代码,所以pdo或mysqli是不可能的>如果您是上述所有代码的所有者,请切换到pdo或mysqli
- 在一次又一次地检查代码之后,我发现原来的页面没有重定向 self.location='insert_和_drop_down_list.php?param_name='+val
<?php echo Header('Location:insert_and_ddl.php?param_name=' + val)?>
但是页面仍然没有重定向,也没有传递参数。有什么建议吗?我很高兴不用使用这种命名结构<代码>待定,
列
。。。这会让我发疯的!无论如何,echo$sql3如果您是上述所有代码的所有者,请切换到PDO
或MySqli
。例如,在Appache中,新版本的PhP会抛出关于使用不推荐的mysql
方法的警告。如果未激活调试,则可能会出现错误。我会将If(isset($param_name))
更改为If(!empty($param_name))
,然后添加else
部分,以轻松检查处理的部分。但我真正的方法是直接查询所有信息,并隐藏您只想在单击
<?php echo Header('Location:insert_and_ddl.php?param_name=' + val)?>