MySQL表里面另一个?

时间:2014-02-15 10:02:37

标签: php mysql drop-down-menu

提前抱歉我的英语不好。

所以我刚开始学习MySQL。

我正在尝试创建一个简单的应用程序,其中我必须能够创建“类别的问题”(添加类别名称),然后在每个类别中我必须添加一个“问题”列表,我做了一个简单的html后台,包含<input>(文本字段),<form>(action =“process.php”)&amp;当然是一个按钮。

添加问题的相同代码。

这是process.php代码

<?php

include("includes/connect.php");
$cat_name=$_POST["cat_name"];

$reqAdministrateurs = mysql_query("INSERT INTO categories (cat_name) VALUES ('$cat_name')");

header("location:categories.html");
?>

一切正常,我能够在MySQL表中添加类别名称(我称之为“类别”),现在我很少丢失(好吧,实际上很多)如何创建这个问题列表?我是说如何在指定的“类别”中添加问题?啊,顺便说一下我为类别做了一个下拉菜单(但我不知道如何从数据库中导入类别列表),然后一旦选择了类别,我必须能够在其中添加一个问题。

我希望自己清楚明白感谢

1 个答案:

答案 0 :(得分:0)

你需要为同一个维护两个表。

表1:类别

应该有一个自动增量主键和类别名称。

列名称

id (auto increment integer value)
name (varchar 200)

表1:问题

应该有一个自动增量主键和问题列。 我们必须在此表中将类别ID维护为foriegn键

列名称

id (auto increment integer value)
question (may be text or varchar)
category_id (from table1 categories)

现在您可以像现在一样插入类别名称而几乎不需要更改代码以防止sql注入

注意: mysql_*弃用,您必须使用mysqli_*PDO

<?php

include("includes/connect.php");
$cat_name=$_POST["cat_name"];

$cat_name = mysql_real_escape_string($cat_name); // prevent sql injections

$reqAdministrateurs = mysql_query("INSERT INTO categories (cat_name) VALUES ('$cat_name')");

header("location:categories.html");
?>

现在创建一个表单,其中输入您的类别ID和标题并在表2中提交:问题

我认为现在你可以自己做,因为你是学习者。并且必须自己做得越来越多。如果有任何关于这个的问题或疑问,我肯定会帮助你。