图书馆数据库

时间:2012-06-04 16:25:58

标签: php mysql database many-to-many

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

我们创建了数据库,导入了它以及所有这些,但问题在于将元素插入其中。

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

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

甚至可以链接到教程和诸如此类的东西。

服务器端代码是PHP。

非常感谢。

2 个答案:

答案 0 :(得分: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);

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

答案 1 :(得分:1)

我有一些建议,

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

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

  3. 在图书用户界面上也使用dropdownbox作为发布者名称(因为许多人不记得发布商代码),然后在回发时你可能会从value =“??”中重新设定值发布商代码。
    <select>  <option value="Code1234">Sams Publisher</option> </select>

  4. 如果您在同一页面中添加作者,出版商,图书和主题的编辑形式,那么用户输入的字段太多而他可能会感到困惑,但由于这只是一个功课,您可以忽略这一点,尽力在一个页面上管理它们。
  5. 示例库DB: enter image description here
    Source: