Я пытался добавить запись в 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');
Пожалуйста, посмотрите и дайте указания. Благодарю.
Это текущее соглашение об именах, которое соблюдается прямо сейчас> Я рад, что мне не нужно работать с этой структурой именования. tbl_, col _… Это свело бы меня с ума!
Поскольку я работаю над устаревшим кодом, о pdo или mysqli не может быть и речи> Если вы являетесь владельцем всего этого кода выше, пожалуйста, переключитесь на PDO или MySqli.
Пройдя через код снова и снова, я обнаружил, что исходная страница не перенаправляет, то есть
self.location = ‘insert_and_drop_down_list.php? param_name =’ + val;
Эта строка не может перенаправить на себя и передать параметр. Поскольку параметр не передается, весь скрипт завершается ошибкой. Я даже пытался передать параметр, как показано ниже
<?php echo Header('Location:insert_and_ddl.php?param_name=' + val)?>
Но все же страница не перенаправляет и не передает параметр. Какие-либо предложения?
Других решений пока нет …