2012-01-01 33 views
2

我有一个页面,其中我的数据库中的表中的值正在被拉出并显示在下拉列表中。一旦选择了一个值并提交表单,除了下拉列表之外的每个数据都会提交给我的mysql数据库。代码如下:下拉列表值不被发送到数据库

<? 
$sql="SELECT user_id, firstname FROM Users WHERE role = 'chairperson'"; 
$result=mysql_query($sql); 

$options=""; 

while ($row=mysql_fetch_array($result)) { 

    $id=$row["user_id"]; 
    $thing=$row["firstname"]; 
    $options.="<OPTION VALUE=\"$id\">".$thing; 
} 
?> 
<form action="meetingsinserted.php" method="post"> 
... 
<tr> 
    <td>  <label for="chairperson">Chairperson:</label> 
</td> 
    <td><span id="spryselect1"> 
     <select name="thing" id="chairperson"> 

<OPTION VALUE=0> 
<?=$options?> 

    </select> 
     <span class="selectRequiredMsg">You Must Choose A Chairperson For This Meeting</span></span></td> 
    </tr> 
... 

meetingsinserted.php页面如下:

 <?php 

$title = $_REQUEST['title']; 
$chairperson = $_REQUEST['chairperson']; 
$secretary = $_REQUEST['secretary']; 
$tof = $_REQUEST['tof']; 
$occurances = $_REQUEST['occurances']; 

$con = mysql_connect("*********","***","****"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db('mdb_hj942', $con); 

$sql="INSERT INTO Meetings (title, chairperson, secretary, tof, occurances) VALUES ('$title','$chairperson', '$secretary','$tof','$occurances')"; 

if (!mysql_query($sql,$con)) 
    { 
     echo '<h1>Meeting Has Been Sent To Chairperson For Approval</h1>'; 
    die('Error: ' . mysql_error()); 
    } 
?> 

任何想法的家伙?感谢..

回答

1
<select name="thing" id="chairperson"> 

应该

<select name="chairperson" id="chairperson"> 

另外,考虑添加结束标记为

<option> 
+0

嗨感谢您的回复。它现在有效,只是最后一个问题....一旦我的表单被提交,它会提出“错误”一词,而不是确认它提交给数据库?它不应该这样做,因为数据正在成功提交。我所说的代码是..... if(!mysql_query($ sql,$ con)) { echo'

会议已发送给主席批准

'; die('Error:'。mysql_error()); } – user1114080 2012-01-01 22:16:37

+0

$ _REQUEST ['chairperson'];从来没有设置,你试图访问它,所以你看到了这个错误。现在,您已经声明了变量$ chairperson,并将其设置为null,它将在数据库中创建条目。此外,列主席未设置为NOT NULL,因此它已成功添加条目。 – Mo3z 2012-01-01 22:36:31

+0

即时通讯对不起,你刚刚把我弄糊涂了!我该怎么改变...... – user1114080 2012-01-01 22:40:30

0

首先关闭标签有一个有效的HTML

<? 
$sql="SELECT user_id, firstname FROM Users WHERE role = 'chairperson'"; 
$result=mysql_query($sql); 

$options=""; 

while ($row=mysql_fetch_array($result)) { 

    $id=$row["user_id"]; 
    $thing=$row["firstname"]; 
    $options.="<OPTION VALUE=\"$id\">".$thing."</option>"; 
} 
?> 
<form action="meetingsinserted.php" method="post"> 
... 
<tr> 
    <td>  <label for="chairperson">Chairperson:</label> 
</td> 
    <td><span id="spryselect1"> 
     <select name="thing" id="chairperson"> 

<OPTION VALUE=0> 
<?=$options?> 

    </select> 
     <span class="selectRequiredMsg">You Must Choose A Chairperson For This Meeting</span></span></td> 
    </tr> 

而你试图通过id值来获取值属性,这是不正确的,你需要从名称属性值调用它

<?php 

$title = $_REQUEST['title']; 
$chairperson = $_REQUEST['thing']; //here was your problem 
$secretary = $_REQUEST['secretary']; 
$tof = $_REQUEST['tof']; 
$occurances = $_REQUEST['occurances']; 

$con = mysql_connect("*********","***","****"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db('mdb_hj942', $con); 

$sql="INSERT INTO Meetings (title, chairperson, secretary, tof, occurances) VALUES ('$title','$chairperson', '$secretary','$tof','$occurances')"; 

if (!mysql_query($sql,$con)) 
    { 
     echo '<h1>Meeting Has Been Sent To Chairperson For Approval</h1>'; 
    die('Error: ' . mysql_error()); 
    } 
?> 
+0

嗨,感谢您的回复。它现在有效,只是最后一个问题....一旦我的表单被提交,它会提出“错误”一词,而不是确认它提交给数据库?它不应该这样做,因为数据正在成功提交。我所说的代码是..... if(!mysql_query($ sql,$ con)) { echo'

会议已发送给主席批准

'; die('Error:'。mysql_error()); } – user1114080 2012-01-01 22:16:44

相关问题