我正在尝试显示所有数据库字段,例如单选按钮。例如,我有这个数据库字段:
hostess_id
hostess_name_en
hostess_surname_en
... etc ...
我想将它们显示为单选按钮,以便选择它们,然后仅显示所选按钮的数据信息。
我该怎么做? 我有这样的事情:
<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect to MySQL server: ' . mysql_error());
}
$dbname = 'db_up';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
die("Could not set $dbname: " . mysql_error());
}
$res = mysql_query('select * from hostess', $link);
while ($row = mysql_fetch_assoc($result)){
echo "<td><input type=\'checkbox\' name=\'hostess[]\' value=\'" . $row['hostess_id'] . "\'>" . $row['hostess_firstname_en'] . "<br />";
}
?>
答案 0 :(得分:0)
使用PDO,它将获得所有字段
$q = $dbh->prepare("DESCRIBE tablename");
$q->execute();
$table_fields = $q->fetchAll(PDO::FETCH_COLUMN);
不推荐使用mysql_ *
function mysql_field_array( $query ) {
$field = mysql_num_fields( $query );
for ( $i = 0; $i < $field; $i++ ) {
$names[] = mysql_field_name( $query, $i );
}
return $names;
}
// Example of use
$fields = mysql_field_array( $query );
您可以遍历该字段名称数组,并在复选框中使用该名称。
答案 1 :(得分:0)
复选框需要一个唯一的name
,或者它们需要是一个数组。复选框数组适合您正在执行的操作:
while ($row = mysql_fetch_assoc($result)){
echo "<input type='checkbox' name='hostess[]' value='" . $row['id'] . "' />" . htmlentities($row['hostess_surname_en']) . "<br />";
}
这将为您提供一个复选框列表,每个复选框旁边都有女主人姓。
现在,当此表单提交到PHP脚本时,您将能够访问所选行id
:
$selectedIds = $_POST['hostess']; // an array
$selectedIds
是已检查记录id
的数组。
我建议将PDO或MySQLi用于新代码,因为不推荐使用mysql_*
库。