php存储和显示选项

ecfsfe2w  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(265)

我正在尝试创建一个基本的php脚本,在这个脚本中,我可以将数据插入mysql数据库,然后,如果该选项已经存在,则将其增量为1。例子:

Happy      Bored
Name1:     1          0
Name2:     0          1

如果我再次为name1和name2选择happy,则结果应更改为:

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>
68de4m5k

68de4m5k1#

创建具有以下代码的表

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');

相关问题