将查询转换为单选按钮以便使用PHP进行选择

时间:2015-01-15 17:39:15

标签: php mysql forms radio-button

我希望使用数据作为单选按钮自动填充php / html表单,以允许用户从他自己的记录中进行选择,并将他们的选择转换为另一种形式的可重用变量。

我从数据库中获得了登录名和密码正常工作,并且可以使用相应的$variable

创建会话user_id

然后我陷入了正确的查询和html构造。我看了各种例子都无济于事。

我的表格如下

tableid Title           Author  published   colour  user_id ref_id
==================================================================
1       how to ski      pete    2014        red 2   1
2       how to cook     jones   2015        white   4       2
3       how to drive    smith   2012        yellow  2       3
4       how to cook     jones   2015        white   4       2
5       how to drive    smith   2012        yellow  4       3

我已经创建了用于提取数据的基本查询,但我很难将其显示为单个选择的单选按钮。

$queryOrders2="SELECT * FROM books WHERE user_id=$user_id";
$resultOrders2=mysql_query($queryOrders2);
$row = mysql_fetch_assoc($resultOrders2);
print_r(mysql_fetch_assoc($resultOrders2));
$Title = $row["Title"];
$Author  = $row["Author"];
$published = $row["published"];
$colour = $row["colour"];`

然后我尝试转换为单选按钮以允许单个记录选择

<form action="display-selections.php" method="POST">
<input class="radio_style" id="Title" name="Title" type="radio" value="Title">
<input class="radio_style" id="Author" name="Author" type="radio" value="Author">
<input class="radio_style" id="published" name="published" type="radio" value="published">
<input class="radio_style" id="user_id" name="user_id" type="radio" value="user_id">
<input name="submitted" type="submit" value="Submit">
</form>

但代码无效,因为我对PHP很新,还在学习。我很难过,而且有太多的例子似乎都不尽如人意。

我尝试了很多不同的语法,但我很难理解如何允许用户以可选择的格式从mysql中选择数据。

任何正确方向的帮助或推动都会很棒。

1 个答案:

答案 0 :(得分:0)

首先:不要使用MYSQL_ *函数,不推荐使用它们。请改用PDO或MySQLi。请参阅:Why shouldn't I use mysql_* functions in PHP?

现在,一个有效的例子:

HTML表单,用于选择要显示的列:

<!DOCTYPE html>
<html>
<head>
    <title>Form example</title>
</head>
<body>
    <form action="process.php" method="post">
        Choose columns (no selection = all columns) :
        <input type="checkbox" name="title" value="1"> Title
        <input type="checkbox" name="author" value="1"> Author
        <input type="checkbox" name="published" value="1"> Published
        <input type="checkbox" name="user_id" value="1"> User ID
        <input type="submit" value="submit">
    </form>
</body>
</html>

PHP文件的开头处理复选框并相应地构建请求:

<?php

$fields = array();

foreach($_POST as $label => $value) {
    array_push($fields, "`" . $label . "`");
}

if(count($fields) > 0) {
    $field_list = implode(",", $fields);
} else {
    $field_list = "*";
}

echo $query = "SELECT " . $field_list . " FROM `table` WHERE condition";

//send query, retrieve and show data :)

?>