2010-05-03 25 views
0

我無法使用php將mysql數據加載到選項框。這裏是我的代碼:如何在php中加載選項框中的數據

<?php 

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

mysql_select_db("school", $con); 

$idnum= mysql_real_escape_string($_POST['idnum']); 

    $result = mysql_query("SELECT * FROM student WHERE IDNO='$idnum'"); 
?> 

<?php while ($row = mysql_fetch_array($result)) { ?> 

<tr> 
<td width="30" height="35"><font size="2">*I D Number:</td> 
<td width="30"><input name="idnum" type="text" maxlength="5" value="<?php echo $row["IDNO"]; ?>" readonly="readonly"></td> 
</tr> 

我的問題在這裏加載它:

<td><font size="2">Gender</td> 
<td> 
    <select name="gender" id="gender"> 
     <font size="2"> 
     <option value="<?php echo $line['IDNO']; ?> "><?php $line['GENDER'] ; ?></option> 



    </select></td></td> 

表如下:?

IDNO | GENDER 
    123 | M 
    321 | F 

那我該怎麼做要加載的確切性別對應於IDNO?

回答

0

注意:您錯誤地使用$line而不是$row作爲選項,因此沒有得到結果。

注2:從您的查詢看起來,你是取一條記錄:

"SELECT * FROM student WHERE IDNO = '$idnum'" 

,因此沒有必要爲循環(我假設IDNO是表的主鍵)。但是,如果你想讀表中的所有記錄,查詢應該是這樣的:

"SELECT * FROM student" 

如何去:

把選擇框的while循環:

<select name="gender" id="gender"> 

然後你while環路選項:

<?php while ($row = mysql_fetch_array($result)) { ?> 
<option value="<?php echo $row['IDNO']; ?> "><?php $row['GENDER'] ; ?></option> 

關閉while

<?php } ?> 

最後關閉選擇框

</select> 

所以在所有的,你的代碼應該是這個樣子(不包括DB的東西):

<select name="gender" id="gender"> 
    <?php while ($row = mysql_fetch_array($result)) { ?> 
    <option value="<?php echo $row['IDNO']; ?> "><?php $row['GENDER'] ; ?></option> 
    <?php } ?> 
</select> 
+0

其無法加載任何東西 – user225269 2010-05-03 13:03:10

0

如果我明白了,你的腳本加載兩行而不是一行。無論如何,這有點奇怪,因爲你有一個非常具體的查詢(SELECT * FROM student WHERE IDNO='$idnum')...所以,你爲什麼不改變它呢?:SELECT * FROM student WHERE IDNO='$idnum' LIMIT 1,這樣你現在可以確定它只會加載一行。

再見!

相關問題