我'我使用mysql创建了一个数据库,我使用php(当然还有html)来检索/插入数据。
我想知道如何创建表单列表,根据数据库中的表格显示选项将更改*。
例如,让我说我有这张表:
CREATE TABLE COMPANY (
comp_id INT NOT NULL AUTO_INCREMENT,
comp_name varchar(30) NOT NULL,
PRIMARY KEY(comp_id) );
我希望列表中包含所有不同的公司名称,以便用户可以选择他想要的公司。
*公司名称不标准,在公司表中可能发生变化,有一天我可能有comp1和comp2以及下一个comp3,comp4和comp5。
所以我不能有一个固定的代码,我需要页面去"读"表中的值并根据它们创建表单。
希望你理解我的意思:P 提前谢谢!
答案 0 :(得分:1)
只需从公司表中获取所有记录,然后从该数据中填充select元素。要更改公司名称,只需在表格中进行更改即可。
$mysqli = new mysqli('127.0.0.1','root','','dbname');
if($mysqli->connect_errno){
echo $mysqli->connect_errno;
} else {
$sql = 'SELECT * FROM COMPANY';
$result = $mysqli->query($sql);
if(!$result){
echo "Query Failed. ".$mysqli->error;
} else {
if($result->num_rows > 0){
$html = "<select>";
while($current_row = $result->fetch_assoc()){
$html .= '<option value="'.$current_row['comp_id'].'">'.$current_row['comp_name'].'</option>';
}
$html .= "</select>";
$result->free();//free the resultset memory
echo $html;
} else {
echo "No Record Exists";
}
}
}
答案 1 :(得分:0)
一些基于mysqli
的半伪代码 - 假设连接为$db
这应该让你知道如何实现你想要的目标。
$sql='select * from `company`';
$res=$db->query( $sql );
if( $res ){
$html=array('<select name="company">');
while( $rs=$rs->fetch_object() )$html[]="<option value='{$rs->comp_id}'>{$rs->comp_name}";
$html[]='</select>';
printf('%s',implode( PHP_EOL, $html ) );
}