我一直在尝试通过表单在mysql中添加一条记录。我能够做到这一点。添加记录后,获取所有记录的主键以填充列表框。在列表框的单击事件中,我想获取所选记录的完整详细信息。我已经尝试过以下代码。我可以添加记录并填充列表框,但不能根据从列表框中选择的值获取记录。有没有人能给我一些建议。提前谢谢。我的代码如下:
<!--
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();
?>和SQL
CREATE TABLE IF NOT EXISTS `tbl_employee` (
`col_name` varchar(25) NOT NULL,
`col_age` int(5) NOT NULL,
`col_gender` varchar(10) NOT NULL,
`col_occupation` varchar(25) NOT NULL,
PRIMARY KEY (`col_name`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `tbl_employee`
--
INSERT INTO `tbl_employee` (`col_name`, `col_age`, `col_gender`, `col_occupation`) VALUES
('aa', 11, 'aa', 'aa'),
('aaa', 11, 'aaaaa', 'aaa');请看一看,给我指路。谢谢。
发布于 2014-12-22 19:52:12
self.location='insert_and_drop_down_list.php?param_name=‘+ val ;
此行无法重定向到自身并传递参数。由于参数没有传递,所以整个脚本都会失败。我甚至尝试按如下方式传递参数
<?php echo Header('Location:insert_and_ddl.php?param_name=' + val)?>但是页面仍然没有重定向,也没有传递参数。有什么建议吗?
https://stackoverflow.com/questions/27598620
复制相似问题