Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用多个表中的信息输入新的/编辑现有数据库记录_Php_Html_Mysql_Sql - Fatal编程技术网

Php 使用多个表中的信息输入新的/编辑现有数据库记录

Php 使用多个表中的信息输入新的/编辑现有数据库记录,php,html,mysql,sql,Php,Html,Mysql,Sql,所以,我有一个模拟电话网站的数据库,它是按照规范建立的。我的数据库有一个表,叫做phones,一个表叫做operatingsystem,还有一个表叫做manufacturer。我需要创建一个表单,将新手机输入数据库。我遇到的问题有: 我基本上需要获取表单,以便将新记录添加到phones表中。但是,phones表也从其他表中提取数据。例如,我如何将操作系统(iOS、Android、BlackBerry和Windows Phone)分别存储在operatingsystem表中,每个操作系统都分配了一

所以,我有一个模拟电话网站的数据库,它是按照规范建立的。我的数据库有一个表,叫做phones,一个表叫做operatingsystem,还有一个表叫做manufacturer。我需要创建一个表单,将新手机输入数据库。我遇到的问题有:

我基本上需要获取表单,以便将新记录添加到phones表中。但是,phones表也从其他表中提取数据。例如,我如何将操作系统(iOS、Android、BlackBerry和Windows Phone)分别存储在operatingsystem表中,每个操作系统都分配了一个ID(1、2、3和4),以及将制造商存储在manufacturer表中(HTC、三星、苹果等)每个都有一个自动递增ID。我不确定如何设计表单,以便用户可以通过使用表单向数据库添加新手机,或者在需要时向数据库添加新的制造商/操作系统。我必须假设添加手机/编辑现有手机的用户没有访问数据库的权限,所以他们显然不知道制造商ID 1是苹果,2是三星等

我基本上需要使用HTML表单和附带的PHP页面的组合,以便可以从数据库中添加、编辑或删除手机。在表单设计方面,我应该做些什么?为了能够从多个表中添加/编辑/删除数据,我需要使用什么PHP


很抱歉这篇长篇大论的文章,但任何帮助都将不胜感激,如果需要更多的细节,请毫不犹豫地询问。谢谢。

对于选择制造商和操作系统,
元素是显而易见的选择。它创建了一个带有可选选项的下拉列表,在传递的值和用户看到的值之间可能会有一个分隔

所以,如果你有这个:

<select name="manufacturer">
    <option value="1">Apple</option>
    <option value="2">HTC</option>
    <option value="3">Samsung</option>
</select>

苹果
宏达电
三星

然后用户将看到苹果、HTC和三星作为选项。如果他们选择Samsung,那么实际提交的参数值是
3
(对应于您表格中的id)。

对于简单/快速的解决方案,@Anthony Grist的回答可以做到这一点。但是,如果您打算构建一个能够独立“生存”的自动化系统,那么您需要使用已经存在的选项从PHP构建一个
,并允许用户通过不同的CRUD在
中添加内容。问题是,用户可以插入iOS、ios5、ios6、iOSasdf等;正如他们所希望的那样,因为你无法阻止它这么多。如果您想这样做,我建议您创建一个表,用于向其中输入
,其中包含
操作系统和
表名。如果正在添加一个新的操作系统,您将使用PHP为此操作系统创建一个新表,然后将其名称添加到所述表中。当用户在选择选项中选择一个操作系统时,您会选择该表并将记录插入其中。

我的回答暗示了他们会动态构建选择,我只是认为没有必要明确说明这一点。更不用说我不懂PHP,所以在这方面提供即使是模糊有用的代码也不是一种选择。我还要说,每个操作系统一个表是糟糕的数据库设计;存储电话的表应使用正确的
id
链接到操作系统和制造商表。