使用php将复选框值保存到数据库

时间:2012-04-01 21:03:07

标签: php database checkbox save

您好我有一个小问题我有一个复选框列表,我想将该列表的值保存到我的数据库(sjaak_db)中的产品表格中。但我现在不知道如何使用php。

    <ul id="selectable">

                <input type="checkbox" id="checkbox-G1" value="Knoflook" name="knoflook"><label for="checkbox-G1">Knoflook</label>
                <input type="checkbox" id="checkbox-G2" value="Tabasco" name="tabasco"><label for="checkbox-G2">Tabasco</label>
                <input type="checkbox" id="checkbox-G3" value="Oregano" name="oregano"><label for="checkbox-G3">Oregano</label>

    </ul>

   <input type='submit' name='submit' value='Save' /><label>Save</label>

所以我想要做的是在我按下保存按钮后立即将列表的值保存在数据库中

3 个答案:

答案 0 :(得分:1)

这是一个比你可能意识到的更大的话题。我假设您正在使用MySQL作为数据库。

以下是一些帮助您入门的教程:

<击> http://www.freewebmasterhelp.com/tutorials/phpmysql

http://www.tizag.com/mysqlTutorial/

<强>注意:

编写SQL时,必须小心避免SQL注入。上面的教程可能没有那么清楚。在PHP中,您可以使用PDO准备好的语句:

http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

http://wiki.hashphp.org/PDO_Tutorial_for_MySQL_Developers

答案 1 :(得分:0)

您可以使用php的$_POST[]方法。例如,保存下面的代码,如“saveDb.php”然后将你的html表单的动作方法设置为这个php页面。

if (isset($_POST['Save'])) { // 
      if (isset($_POST['checkbox-G1'])) {

      // define var like "$CheckBox1Value" for all checkboxes
      $CheckBox1Value = $_POST['checkbox-G1']; // you can duplicate this row for other checkboxes

       }
}

之后,您可以将该值插入数据库表。

答案 2 :(得分:0)

你必须使用php。首先,我们还需要您要存储选项的表的名称(在数据库中)。我们假设您只有X选项。如果您有可变数量的选项,我会遵循其他方法。我假设您的表名为'tablename',不同的列是'knoflook','tabasco','oregano'。您希望将每个选项存储在不同的mysql列中,因此我会这样做:

<?php
$con_mysql = mysql_connect(servername,username,password);   //Connect to mysql
if (!$con_mysql)    //if it cannot connect...
    {
    die('Could not connect: ' . mysql_error()); //...displays error
    }

$con_db = mysql_select_db(sjaak_db, $con_mysql);    //Connect to database
if (!$con_db)       //if it cannot connect...
    {
    die('Could not connect: ' . mysql_error()); //...displays error
    }

// Escape and save each value
$Knoflook=mysql_real_escape_string($_POST['knoflook']);
$Tabasco=mysql_real_escape_string($_POST['tabasco']);
$Oregano=mysql_real_escape_string($_POST['oregano']);

// Save them into the database
mysql_query("INSERT INTO tablename (knoflook, tabasco, oregano) VALUES('$Knoflook', '$Tabasco', '$Oregano' ) ") or die(mysql_error());  

// Close the conexion
mysql_close($con_db);
?>

现在,您可能想要为他们做很多事情,比如检查是否设置了答案(isset($ _POST ['knoflook']))等等。此外,如果有很多选项,请说出来,我会尝试对其进行调整。