сохранить имя и значение флажка в таблице - PullRequest
1 голос
/ 11 января 2009

пожалуйста, мне нужна помощь, у меня есть форма флажков. Я хочу сохранить имя и значение полей, которые зарегистрированный пользователь выбирает в таблицу, теперь я зарегистрировал информацию о зарегистрированных пользователях, сохраненную в таблице, как таблицу, которая сохраняет выбор зарегистрированных пользователей должен быть связан с таблицей пользователей ????

таблица моих зарегистрированных пользователей

<?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" ;
?>

Ответы [ 2 ]

3 голосов
/ 11 января 2009

Допустим, у вас есть таблица таких пользователей:

**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

Эта информация означает, что Билли выбран для получения информационного бюллетеня , а не спам , в то время как Джо не хочет ничего получать.

Ключ должен иметь ИД пользователя из первой таблицы, это называется внешним ключом. Вы можете прочитать больше об этом в Wikipedia .

1 голос
/ 11 января 2009

Возможно, вы захотите переформулировать свой вопрос, чтобы его было легче читать, вот что, я думаю, вы имели в виду:

Как я могу обновить данные пользователя в базе данных, используя форму флажков?

Флажки являются входными данными и будут отображаться как текстовые входные данные в вашем массиве 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;
    }

Надеюсь, это имеет смысл (и это то, что вы искали) - ваш вопрос был мне неясен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...