繁体   English   中英

如何在PHP中插入多个下拉菜单的值

[英]How to insert the value of multiple drop-down menus in PHP

我有一个页面可以插入会议详细信息,此插入表单的各个部分之一是从db中现有的成员列表中选择出席者。 我的问题是:如何在mysql db中插入许多下拉菜单(最大菜单数等于成员总数)。 这种方法在其他情况下效果很好,我所做的唯一区别是它是文本的输入类型而不是选择菜单。 那么,我在这里错过了什么?

波纹管所有代码:

addMeeting.php

D B

更新:

如果我理解:

您不会写特定会议的出席人数吗?

如果是这种情况, 您应该已经知道您的“ meetingID”。

// for example ...
$meetingID = $_POST['meetingid']; 
$reruslt =& mysql_query('INSERT INTO meetingattendance (meetingID, attendance) VALUES ('.$meetingID.', "'.$new_attendence.'")', $conn);
if(!$reruslt) die( 'mySQL err. '.mysql_errno($conn).': '.mysql_error($conn) );

LAST_INSERT_ID()仅返回最后插入的自动增量键,在这种情况下为“ boardmeetings.meetingID”。

CONSTRAIN FOREIGN KEY确保您不能在“ boardmeetings”中不存在的“ meetingattendance”中插入meetingID。

在插入 “ boardmeetings” 之后直接使用LAST_INSERT_ID()。

MYSQL

INSERT INTO `boardmeetings`(`meetingID`) VALUES ('');
@lastID = LAST_INSERT_ID();
INSERT INTO meetingattendance (meetingID, attendance) VALUES (@lastID, 'new_attendence');

或在PHP中

$reruslt =& mysql_query('INSERT INTO boardmeetings (meetingID) VALUES ('')', $con);
$lastID = mysql_insert_id($conn);
$reruslt2 =& mysql_query('INSERT INTO meetingattendance (meetingID, attendance) VALUES ('.$lastID.', "'.$new_attendence.'")', $conn);
if(!$reruslt2) die( 'mySQL err. '.mysql_errno($conn).': '.mysql_error($conn) ); 

您能告诉我代码在boardmeetings会议中插入新会议的位置boardmeetings 我相信您是在if (isset ($_POST['attendence'])&& $_POST['attendence']!='none')

这是您完整的addMeeting.php代码吗?

<?php
$dbhost="XXX";
$dbuser="XXX";
$con = mysql_connect($dbhost,$dbuser, "XXX");
if (!$con) 
{
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';

$query = "SELECT * FROM `boardteam` ORDER BY fName ASC";
mysql_select_db('dahBoard');
$result = mysql_query($query);
if ($result)
{
   while($db_field = mysql_fetch_assoc($result))
     {
     $Attendence .= "<option value=".$db_field['nationalID'].">".$db_field['titleName']."."." ".$db_field['fName']." ".$db_field['sName']." ".$db_field['lName']."</option>";
     }
 }

if(isset($_POST['add']))
{
   if (isset ($_POST['attendence'])&& $_POST['attendence']!='none') {
    for ($i = 0; $i < count($_POST['attendence']); $i++) {
    $new_attendence = $_POST['attendence'][$i];

    $query = "INSERT INTO `meetingattendance`(`meetingID`, `attendance`) 
              VALUES (LAST_INSERT_ID(),'$new_attendence')";

    mysql_query($query) or die('Error, query failed');
    }
}
}
?>

我将方案更改为:我没有创建多个下拉列表,而是创建了一个多个值的选择列表,并且可以管理用户选择的值的数组并将其成功插入^^

因此,不要使您的代码复杂化>艰苦的课程:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM