繁体   English   中英

下拉菜单中的PHP存储和显示选项

[英]PHP store and display option from dropdown menu

我正在尝试创建一个基本的PHP脚本,可以在其中将数据插入MYSQL数据库,然后(如果该选项已存在)将其递增1。 例:

         Happy      Bored
Name1:     1          0
Name2:     0          1

如果我再次为Name1和Name2选择高兴,则结果应更改为:

         Happy      Bored
Name1:     2          0
Name2:     1          1

HTML代码:

<select name="moods">
<option value="happy" selected="selected">Happy</option>
<option value="bored">Bored</option>
</select>

使用以下代码创建表

CREATE TABLE `tmp` (
  `id` int(11) NOT NULL,
  `Name1` varchar(256) NOT NULL,
  `Name1_count` int(11) NOT NULL,
  `Name2` varchar(256) NOT NULL,
  `Name2_count` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `tmp` (`id`, `Name1`, `Name1_count`, `Name2`, `Name2_count`) VALUES
(1, 'Happy', 0, 'Happy', 0),
(2, 'Bored', 0, 'Bored', 0);

创建后,表格将像附加的图像一样

在此处输入图片说明

下一个,

在您的代码中添加以下sql查询。

如果您使用的是PDO连接 ,则使用如下所示,

$value = 'Happy';

$sql_1 = "UPDATE `tmp` SET Name1_count = Name1_count+1 WHERE `Name1` = ?";
$exec_1 = $pdo->prepare($sql_1)->execute([$value]);

$sql_2 = "UPDATE `tmp` SET Name2_count = Name2_count+1 WHERE `Name2` = ?";
$exec_2 = $pdo->prepare($sql_2)->execute([$value]);

如果您使用的是codeigniter框架 ,请使用如下所示

$this->db->set("Name1_count", "Name1_count+1", false)->where(array('Name1' => $value))->update('tmp');
$this->db->set("Name2_count", "Name2_count+1", false)->where(array('Name2' => $value))->update('tmp');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM