2012-01-01 100 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