自选值插入数据库解决办法
Jun 13, 2016 pm 01:42 PM
自选值插入数据库
科目:有20个选项,自选5个。
班级:只能选一个。
然后自选的这个5个科目和班级会被写进数据库。就是要实现这么一个简单的功能,我虽然做出来了,但是觉得我做的不太合适。
我现在把科目和班级分成了两个表。相等于有两次insert,两次insert的id是AUTO_INCREMENT。所以理论上他们所对应的id也应该是能对上号的。但是显然这样很不合理。
其次,这样写的话实际上insert科目表的时候是把这20个都写进去了,只不过已选中的就把值写进去了,没选择的写进去的是空。然后在输出的都是也是把这20个全部输出,只不过有的是空所以最后只会看到有5个值输出,但是实际上却输出了20个,只不过另外15个是空罢了。
- PHP code
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> <?php if(isset($_POST['submit'])){ $subjects_sql = "insert into subjects (`subjects_01`,`subjects_02`,`subjects_03`,`subjects_04`,`subjects_05`,`subjects_06`,`subjects_07`,`subjects_08`,`subjects_09`,`subjects_10`,`subjects_11`,`subjects_12`,`subjects_13`,`subjects_14`,`subjects_15`,`subjects_16`,`subjects_17`,`subjects_18`,`subjects_19`,`subjects_20`) values('$_POST[subjects_01]','$_POST[subjects_02]','$_POST[subjects_03]','$_POST[subjects_04]','$_POST[subjects_05]','$_POST[subjects_06]','$_POST[subjects_07]','$_POST[subjects_08]','$_POST[subjects_09]','$_POST[subjects_10]','$_POST[subjects_11]','$_POST[subjects_12]','$_POST[subjects_13]','$_POST[subjects_14]','$_POST[subjects_15]','$_POST[subjects_16]','$_POST[subjects_17]','$_POST[subjects_18]','$_POST[subjects_19]','$_POST[subjects_20]')"; $class_sql = "insert into class (`class_01`,`class_02`,`class_03`,`class_04`,`class_05`,`class_06`,`class_07`,`class_08`,`class_09`,`class_10`,`class_11`,`class_12`,`class_13`,`class_14`,`class_15`,`class_16`) values('$_POST[class_01]','$_POST[class_02]','$_POST[class_03]','$_POST[class_04]','$_POST[class_05]','$_POST[class_06]','$_POST[class_07]','$_POST[class_08]','$_POST[class_09]','$_POST[class_10]','$_POST[class_11]','$_POST[class_12]','$_POST[class_13]','$_POST[class_14]','$_POST[class_15]','$_POST[class_16]')"; if(mysql_query($subjects_sql) and mysql_query($class_sql)){ echo "<script>alert('提交成功');location.href='index.php';"; }else{ echo "<script>alert('提交失败');location.href='index.php';</script>"; } } ?>
------解决方案--------------------
不太明白你的需求 要是我 我会这样子做 建一个科目表
选择的话是保存科目表的id 以字符串的形式 如 1,2,3 选择的班级也保存同一个表
显示选择科目时 select * from 科目表 where id in(1,2,3)
------解决方案--------------------
三个表:
科目表:
id
name
班级:
id
name
选修表:
id
科目ID (存科目id eg:1,2,3)
班级ID (存班级id)

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser les classes et les méthodes en Python

Une brève analyse de la méthode POST en PHP avec des paramètres pour accéder à la page

Comment déterminer si un message a été soumis en PHP

Remplacer le nom de classe d'un élément à l'aide de jQuery

Comment utiliser la publication des requêtes Python

Comment Java lance-t-il une requête http, appelle-t-il la publication et obtient-il les interfaces ?

Quelle est la différence entre insérer ignorer, insérer et remplacer dans MySQL
