我正在尝试从MySQL表forma_table中检索数据,将其填充到html下拉列表中,然后选择并将其以不同的排列插入到另一个表中。 问题是下拉选项中的值由三个字符串的总和组成:FIRSTNAME、LASTNAME、EMAIL,我想单独保存,这意味着: a) 一个字段:名字 + 姓氏 b) 第二个字段:电子邮件
目前,我输入“EK111”的值而不是 EMAIL,因为我不知道如何实现它。
谁能告诉我该怎么做。
谢谢。
<form name="Envelope" method="post" action="<?php echo basename(__FILE__); ?>" enctype="multipart/form-data" id="ENVELOPE">
<input type="hidden" name="formid" value="envelope">
<input type="hidden" name="EmailKandydata" value="EK111" id="EMAILKANDYDATA">
<label for="ENVELOPEKANDYDAT" id="Label1">Dane Kandydata</label>
<input type="submit" id="Button1" name="" value="Wybierz">
<select name="Envelope Kandydat" size="1" id="ENVELOPEKANDYDAT">
<?php
$mysql_server = 'serwer';
$mysql_table = 'envelope_tab';
$mysql_database = 'baza';
$mysql_username = 'admin';
$mysql_password = 'password';
$link = mysqli_connect($mysql_server, $mysql_username, $mysql_password) or die('Failed to connect to database server!<br>'.mysqli_error($db));
mysqli_select_db($link, $mysql_database);
$res=mysqli_query($link, "select * from forma_table order by LASTNAME asc");
while($row=mysqli_fetch_array($res))
{
?>
<option value="<?php echo $row[FIRSTNAME]; echo " "; echo $row[LASTNAME]; echo " "; echo $row[EMAIL]; ?>"><?php echo $row[FIRSTNAME]; echo " "; echo $row[LASTNAME]; echo " | "; echo $row[EMAIL]; ?></option>
<?php
}
?>
</select>
</form>
最佳答案
理想情况 您应该使用外键并引用主记录,而不是重新插入所有信息。
Table A Table B
- id
id ---> contact_id_fk
但是你可以这样做:
将值设置为 id:
<option value="id">First Name <email>
提交表单后,使用传递的 $id 来获取剩余的字段。
$result = get_results (SELECT * FROM TABLE WHERE id = $id);
$first = $results['first_name']
然后插入到新表中:
Insert INTO ANOTHER TABLE VALUES($first, $last, $email)
关于php - 如何从下拉列表中获取值并将其以不同的排列插入到MySQL表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59074034/