首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将复选框名称和值保存到表中

问将复选框名称和值保存到表中
EN

Stack Overflow用户
提问于 2009-01-11 12:25:16
回答 2查看 906关注 0票数 1

请帮助我有一种形式的复选框,我想将注册用户选择的框的名称和值保存到表中,现在我已经将注册用户信息保存在表中,如何创建保存注册用户选择的表以与用户表建立关系?

我的注册用户表

代码语言:javascript
复制
<?php
$connect=mysql_connect("localhost","root") or die (mysql_error());
mysql_select_db("login") or  die (mysql_error());

$query="CREATE TABLE users(
    userid        int not null  auto_increment primary key,
    username      varchar(20), 
    password      varchar(40),
    usertype      varchar(20),
    firstname     varchar(30),
    lastname      varchar(30),
    street        varchar(50),
    city          varchar(50),
    country       varchar(50),          
    postcode      varchar(10),
    gender        varchar(6),
    dateofbirth   date,
    telnumber     varchar(50),           
    email         varchar(50),
    insertdate    date,
    vals          text,
    comment       text
)"; 

$result=mysql_query($query,$connect) or die('Cannot Create User');

mysql_close();
print " DataBase created well" ;
?>
EN

回答 2

Stack Overflow用户

发布于 2009-01-11 12:38:16

假设您有这样的用户表:

代码语言:javascript
复制
**users**
------------------------------
userid  username etc...
1       billy    ...
2       joe      ...

现在您必须创建这样的表:

代码语言:javascript
复制
**users_checkboxes**
------------------------------
id  user_id  name              value
1   1        newsletter        1
2   1        send me spam      0
3   2        newsletter        0
4   2        send me spam      0

这意味着比利选择接收时事通讯而没有垃圾邮件,而joe不想接收任何东西。

关键是在这里的第一个表中有用户is ,这称为外键。你可以在维基百科上读到更多关于它的信息。

票数 3
EN

Stack Overflow用户

发布于 2009-01-11 12:37:01

你可能想重述你的问题,这样更容易读懂,我认为你的意思是:

如何使用复选框的形式更新数据库中的用户数据?

复选框是输入,类似于GET或POST数组中的文本输入(您更可能为此使用POST )。

例如:

代码语言:javascript
复制
<form action="update.php" method="post">
    <p><input type="checkbox" name="showDate" /> Show the date on every page.</p>
    <p><input type="submit" value="Update user record" /></p>
</form>

然后,在PHP中您将使用类似于以下内容的内容:

代码语言:javascript
复制
<?php
    // Check form has been submitted         
    if (isset($_POST['showDate'])) {
        // Assuming the user is updating their own profile and their 
        // user id is registered in a session
        $update = 'UPDATE users SET showDate = %d WHERE userid = %d';
        // It's better to use prepared statements for this, see http://php.net/mysqli
        mysql_query(sprintf($update, $_POST['showDate'], $_SESSION['userid']));
    } else {
        // show the form
        echo $form;
    }

希望这是有意义的(也是你想要的)--你的问题我不清楚。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/432825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档