【问题标题】:convert query to radio buttons for selection using PHP使用 PHP 将查询转换为单选按钮以供选择
【发布时间】:2015-03-14 05:02:53
【问题描述】:

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

我从数据库中获得了登录名和密码,工作正常,可以使用适当的user_id 创建会话$variable

然后我被正确的查询和 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 中选择数据。

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

【问题讨论】:

  • 您需要复选框,而不是单选输入。我正在为你构建一个小例子。
  • 嗯,你应该做的第一件事就是放弃他们的 mysql_ api,因为它已被弃用。在你做任何其他事情之前。这不安全..您应该考虑使用 mysqli_PDO 参数化您的查询
  • 我不清楚你想做什么。这张桌子很好,因为我可以看到我从什么开始。但我不知道最终会在哪里结束。您能否提供一个示例说明您希望在页面上显示的内容。

标签: php mysql forms radio-button


【解决方案1】:

首先:不要使用 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 :)

?>

【讨论】:

    猜你喜欢
    • 2011-01-03
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 2015-06-12
    • 1970-01-01
    相关资源
    最近更新 更多