gpt4 book ai didi

php - 在mysql数据库中插入更新和删除复选框数据

转载 作者:行者123 更新时间:2023-11-29 14:43:28 25 4
gpt4 key购买 nike

如何在mysql数据库表中插入更新和删除复选框数据。我需要mysql查询来执行所有操作。我只有一个数据库表用于该操作。提前致谢

<input type="checkbox" name="sports" value="Cricket" /> Cricket 
<input type="checkbox" name="sports" value="Football" />Football
<input type="checkbox" name="sports" value="Chess" />Chess

数据库结构

ID ,NAME, AGE ,SPORTS(checkbox need to save)

最佳答案

您应该更改您的表架构,它甚至不在 1NF 中,就像您所拥有的那样。您应该至少创建两个表来处理此问题,但考虑到运动会重复这一事实,我建议创建三个表。

这些将是你的 table ...

用户

id | name | age

运动

id | sport

用户体育

user_id | sport_id
<小时/>

这些将是查询...

生成复选框时,您可以从 sports 表中进行选择,并且您可以输入运动的 ID(而不是名称)作为值。

插入注意插入,您将使用mysql_insert_id获取用户的 id,该 id 将用于关系表。

INSERT INTO users(name, age) VALUES('John', 22);
INSERT INTO user_sports(user_id, sport_id) VALUES(mysql_insert_id(), 123);

选择您的复选框是否包含运动 ID 作为值

    SELECT u.id user_id, u.name, u.age, s.sport
FROM users u
INNER JOIN user_sports us
ON u.id = us.user_id
AND us.sport_id = 123
INNER JOIN sports s
ON us.sport_id = s.id

如果您知道运动名称,请选择

    SELECT u.id user_id, u.name, u.age, s.sport
FROM users u
INNER JOIN user_sports us
ON u.id = us.user_id
INNER JOIN sports s
ON us.sport_id = s.id
AND s.sport = 'Football'

删除

    DELETE u, us 
FROM users AS u
INNER JOIN user_sports AS us
ON u.id = us.user_id
INNER JOIN sports AS s
ON us.sport_id = s.id
AND s.sport = 'Basketball'

关于php - 在mysql数据库中插入更新和删除复选框数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7510542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com