1

所以我和我的同事被指派制作一个图书馆数据库作为课程的任务,然后制作一个 html 数据库界面,在那里有人可以在数据库中执行某些任务,例如插入行、删除行、查找行等。

我们已经创建了数据库,导入了它,但问题在于向其中插入元素。

例如,books 表与 authors 表有多对多的关系(每个表的主键分别是 ISBN 和作者 ID)所以当我们想在我们的数据库中插入一本书及其作者时,我们不不知道该怎么做,因为它们在不同的表中。我们对如何将单个表单中的数据放在具有不同主键的多个表中感到困惑。

我们一直试图找到这样的例子,但无济于事。

甚至指向教程之类的链接也很受欢迎。

服务器端代码是 PHP。

非常感谢。

4

2 回答 2

1

我有一些建议给你

  1. 使用主题名称的下拉框并通过主题表填充它,因此您只能选择数据库中的主题名称。

  2. 输入书籍详细信息(表中的所有值以及主题名称)后,手动将 ISBN 插入 Authors 表中。

  3. 在图书用户界面上,出版商名称也使用下拉框(因为很多人不记得出版商代码),然后在回发时,您可能会从 value ="??" 中 pivk 值出版商代码。
    <select> <option value="Code1234">Sams Publisher</option> </select>

  4. 如果您在同一页面中添加 Author , Publisher , Book 和 subject 的 Editor 表单,用户输入的字段太多,他可能会感到困惑,但由于这只是一个家庭作业,您可以忽略这一点并尽力而为在一页上管理它们。

示例库数据库: 在此处输入图像描述
来源:

于 2012-06-04T17:12:48.767 回答
1

您可以简单地收集表单变量并构建所需的 SQL 语句。我不是 PHP 专家,所以我只熟悉使用 PHP 的 mySQL 插件。

考虑一个带有地址部分的人员表单,我想将其添加到单独的表中:

 <form action="makePerson.php" method="POST">
    First Name: <input type="text" name="firstName"/>
    First Name: <input type="text" name="lastName"/>
    Address: <input type="text" name="address"/>
    <input type="submit"/>
 </form>

现在我的脚本(这是未经测试的,我的 PHP 生锈了)

 $firstName = $_POST['firstName'];
 $lastName = $_POST['lastName'];
 $address = $_POST['address'];

 $id = generateId();

 $person_insert = "insert into person values (" . $id . ", " . $firstName . ", " . $lastName . ")";
 $address_insert = "insert into address values (" . $address . ", " . $id . ")";

 mysql_execute($person_insert);
 mysql_execute($address_insert);

这是一般的想法。请注意,这不是生产质量代码,只是一个示例。

于 2012-06-04T16:55:52.670 回答