1

我正在尝试显示我的所有数据库字段,例如单选按钮。例如我有这个数据库字段:

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 />";

}


?>
4

2 回答 2

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 );

比您可以遍历该字段名称数组并将名称与您的复选框一起使用。

于 2012-06-18T11:05:24.510 回答
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是检查记录ids 的数组。

我建议对新代码使用 PDO 或 MySQLi,因为该mysql_*库已弃用。

于 2012-06-18T11:09:37.923 回答