首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用左联接通过表单插入MySQL

问使用左联接通过表单插入MySQL
EN

Stack Overflow用户
提问于 2015-01-15 20:12:20
回答 1查看 127关注 0票数 0

我用一些手动插入的文本字段制作了一个表单。

所有这些字段都填写在表1中,除了1。我做了一个下拉菜单,它正在调用表2中的信息。

代码语言:javascript
复制
<div>Geslacht</div>
<select name='geslacht'>
<?php 
    while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { ?>
    <option value="<?php echo $line['Geslacht'];?>"> <?php echo $line['Geslacht'];?> </option>

到目前为止,下拉菜单确实选择了信息。

我想要做的是:

我想将表1中的字段链接到表2中的字段,所以当我更改表2中的值时,例如:将Man改为男性,表1中的每个人都得到了值Man更改为男性的值。

表1结构: PersonID名称性别1约翰链接到表2

表2结构: ID性别1男2女

我被告知要用左连接来做这个,但是我迷路了,我不知道从哪里开始。有人能给我起头吗?

我目前的插入代码是:

代码语言:javascript
复制
mysql_query("INSERT INTO Persoon (voornaam, tussenvoegsel, achternaam,
        straatnaam, huisnummer, toevoeging, bsnnummer, geboortedatum, geslacht) VALUES ('".$persoon_voornaam."', '".$persoon_tussenvoegsel."', '".$persoon_achternaam."',
         '".$persoon_straatnaam."', '".$persoon_huisnummer."', '".$persoon_toevoeging."', '".$persoon_bsnnummer."', '".$persoon_geboortedatum."', '".$persoon_geslacht."')") or die (mysql_error());
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-15 20:26:57

因此,在返回数据之前,连接是不会起作用的:)

表1字段:

代码语言:javascript
复制
id INT(11) UNSIGNED AUTO_INCREMENT
name VARCHAR(100) NOT NULL
gender INT(11) UNSIGNED

表2字段:

代码语言:javascript
复制
gender_id INT(11) UNSIGNED AUTO_INCREMENT
gender_name VARCHAR(20) NOT NULL

因此,假设表2中有两个条目:1 = male和2 = female。

当您插入表1时,您将使用1和2,而不是“男性”和“女性”。

代码语言:javascript
复制
INSERT INTO table1 (name, gender) VALUES ('Josh', 1);

当您返回SELECT信息时,您将使用LEFT JOIN

代码语言:javascript
复制
SELECT * FROM table1 t1 LEFT JOIN table2 t2 ON t1.gender = t2.gender_id WHERE t1.name = 'Josh';

然后,在您的结果集中,您将拥有所有的正常数据以及从table2链接的所有内容,即gender_name。

希望这有点道理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27972175

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档