2012-05-26 26 views
-1

由於某種原因,我在使用此表單時遇到問題..我有一種可怕的感覺,這是我錯過的一個愚蠢的原因,但我一直盯着這幾個小時找出原因..使用PHP/MYSQL值的選項值

$pnames = $mysql_db->query('SELECT * FROM patient ORDER BY name ASC'); //normal query 
<form action="<?php $_SERVER['PHP_SELF']?>?action=addLog" method="POST"> 
    <select name="pname"> 
    <? 
    while ($p = mysql_fetch_object($pnames)) { 
     echo "<option value=".$p->pid.">".$p->name."</option>"; 
    } 
    ?> 
    </select> 
    <input type="submit" 
     value="Add Log" /> 
</form> 

有人可以請幫我找出爲什麼選擇沒有選擇? (我從字面上檢查它與以前的代碼工作,這是莫名其妙我。我開始認爲這是一個查詢的問題..反正。在此先感謝

+0

'View Source' says ...? –

+0

查看源代碼說,我剛剛發佈相同的代碼..? –

+0

然後你有一個系統管理員問題,而不是一個編碼問題。 –

回答

1

你需要關閉這個

"<?php $_SERVER['PHP_SELF']?>?action=addLog" 

像這樣

"<?php echo $_SERVER['PHP_SELF'].'?action=addLog'?>" 

,並確保您PHP支持短標記,因爲你使用它。

<? 
while ($p = mysql_fetch_object($pnames)) { 
    echo "<option value=".$p->pid.">".$p->name."</option>"; 
} 
?> 

試試這個代替

<?php 
while ($p = mysql_fetch_object($pnames)) { 
    echo "<option value=".$p->pid.">".$p->name."</option>"; 
} 
?> 
+0

甚至不使用asp風格的標籤,因爲它們從版本5.4.0 PHP中刪除。 – budwiser

+0

同意@budwiser,即使你從未計劃升級或任何東西。但是再輸入兩個字符將避免爲了節省幾毫秒而打破整個腳本。打破習慣並將其標準化爲規格。只是一個想法。 –

+0

@bPratik,感謝您的編輯。將學習如何做到這一點。 –