请我来帮助我有一个复选框的形式我想保存注册用户选择到表中的框的名称和值,现在我已经注册用户信息保存在表中,如何保存表创建注册用户选择以与用户表有关系????
我的注册用户表
<?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" ;
?>
答案 0 :(得分:3)
假设你有这样的用户表:
**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
此信息表示 billy 选择接收简报而垃圾,而乔则不希望收到任何东西。
关键是从这里的第一个表中获得 userid ,这称为外键。您可以在Wikipedia了解更多相关信息。
答案 1 :(得分:1)
您可能想重新提问,以便更容易阅读,这就是我认为您的意思:
如何使用复选框形式更新数据库中的用户数据?
复选框是输入,会像GET或POST数组中的文本输入一样出现(你更有可能使用POST)。
E.g:
<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;
}
希望这是有道理的(而且正是你所寻找的) - 你的问题我不清楚。