请帮助我有一种形式的复选框,我想将注册用户选择的框的名称和值保存到表中,现在我已经将注册用户信息保存在表中,如何创建保存注册用户选择的表以与用户表建立关系?
我的注册用户表
<?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" ;
?>发布于 2009-01-11 12:38:16
假设您有这样的用户表:
**users**
------------------------------
userid username etc...
1 billy ...
2 joe ...现在您必须创建这样的表:
**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 ,这称为外键。你可以在维基百科上读到更多关于它的信息。
发布于 2009-01-11 12:37:01
你可能想重述你的问题,这样更容易读懂,我认为你的意思是:
如何使用复选框的形式更新数据库中的用户数据?
复选框是输入,类似于GET或POST数组中的文本输入(您更可能为此使用POST )。
例如:
<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中您将使用类似于以下内容的内容:
<?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;
}希望这是有意义的(也是你想要的)--你的问题我不清楚。
https://stackoverflow.com/questions/432825
复制相似问题