如何在PHP表中添加字符串值的子表中存储ID

时间:2015-01-30 17:12:50

标签: php mysql database

我想问一下当我向php表添加字符串值时如何向子表插入ID。例如:

我有一个名为db的数据库及其相应的表:

CREATE TABLE IF NOT EXISTS `test1` (
`id1` int(11) NOT NULL AUTO_INCREMENT,
`fname` varchar(25) DEFAULT NULL,
PRIMARY KEY (`id1`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

INSERT INTO `test1` (`id1`, `fname`) VALUES
(1, 'Mary');

-- --------------------------------------------------------

CREATE TABLE IF NOT EXISTS `test2` (
`id2` int(11) NOT NULL AUTO_INCREMENT,
`id1` int(11) DEFAULT NULL,
PRIMARY KEY (`id2`),
KEY `id1` (`id1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

ALTER TABLE `test2`
ADD CONSTRAINT `test2_ibfk_1` FOREIGN KEY (`id1`) REFERENCES `test1` (`id1`);

表test1包含现有数据,table test2是子表,其中添加的数据将从php中存储。

还有php代码,假设它连接到数据库:

<body>
<div style="text-align: center">
<form action="test2.php" method="POST">
<?php
include('connect.php');
$query = "SELECT fname FROM test1";
$result = mysql_query($query);
?>
<select name="select1">
<?php while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
?>
<option value="<?php echo $line['fname']; ?>">
<?php echo $line['fname'];
?>
</option>
<?php }
?>
</select>
<input type="submit" value="Save" id="secret" />
</form>
<table border="1" width="200" id="sample" align="center">
<thead>
<tr>
enter code here
<th> ID </th>
<th> Name </th>
</tr>
</thead>
<tr class="record" height="100">
<td></td>
<td></td>
</tr>
</table>
</div>
</body>

test1.php

在我的php代码示例中,我有一个下拉菜单,其中包含数据库中test1表中的数据和右侧的按钮。如果我从下拉菜单中选择一个数据并保存它,数据将显示到php表中,所选数据的id将存储在数据库的子表test2中。问题是,如何?

请帮我解决这个问题。

谢谢。

0 个答案:

没有答案