如何从数据库中获取选项值?

时间:2015-04-20 10:54:51

标签: php database forms foreign-key-relationship options

朋友我有名称employee-application的数据库。它有3个表格如下

create table departments
(
 department_id int(20) not null AUTO_INCREMENT PRIMARY KEY,
 department_name varchar(30)  not null
);

然后,

create table designation
(
 designation_id int(20) not null AUTO_INCREMENT PRIMARY KEY,
 designation_name varchar(30) not null
);

最后,

create table employee
(
 employee_id int(20) AUTO_INCREMENT NOT NULL,
 employee_name varchar(30) not null,
 department_name varchar(30),
 designation_name varchar(30),
 salary int(20) not null,
 FOREIGN KEY(department_name) references departments(department_id),
 FOREIGN KEY(designation_name) references designations(designation_id)
 );

现在我想创建用于向表中添加新员工的表单。这是我的疑问,如何从我的表单获取department_name和designation_name作为数据库中的选项/下拉值???有人可以帮我找到解决这个问题的途径.. !!!

4 个答案:

答案 0 :(得分:0)

这是家庭作业吗? select语句可用于从departments表中提取信息。我会根据这是否是家庭作业调整我的答案。 W3C Schools有很多有用的信息,请看以下两个链接。

SQL Help

PHP Help

答案 1 :(得分:0)

您可以使用以下代码

$result = mysqli_query($con,"SELECT * FROM `departments` ORDER BY `departments`.`department_name` ASC");

while($row = mysqli_fetch_array($result))

   {

 $deparmentdrowdown=$deparmentdrowdown.'<option value="'.$row['department_id'].'">'.$row['department_name'].'</option>';

    }

答案 2 :(得分:0)

对于名称下拉列表您可以使用此

 $result = mysqli_query($con,"SELECT * FROM `designation` ORDER BY `designation`.`designation_name` ASC");
while($row = mysqli_fetch_array($result))
   {
 $desigdrowdown=$desigdrowdown=.'<option value="'.$row['designation_id'].'">'.$row['designation_name'].'</option>';
 }

答案 3 :(得分:0)

首先,您的员工表未规范化,而不是使用department_name和designation_name,您应该使用department_id和designation_id。

为了获取指定名称和部门名称列表作为选择框,您需要获取部门表并获取所有行,例如

系: -

SELECT department_id,department_name 从部门 ORDER BY department_name ASC;

获取结果并在布局中循环以设置部门选项。

命名: -

SELECT designation_id,designation_name 来自指定 ORDER BY names_name ASC;

获取结果并在布局中循环以设置指定选项。