2012-09-24 54 views
0

我一直在試圖運行一個mySQL查詢來填充HTML表單,其中我呈現了一個標記。我想從mySQL表中填充值和文本。 這是基於不同的網站找到的東西是我的嘗試,並沒有奏效使用mySQL查詢填充HTML表單選擇

<select name="id"> 
    <?php 

    require_once dirname(__FILE__) . '/db_connect.php'; 
    $db = new DB_CONNECT(); 

    $query="SELECT id, name FROM file order by name"; 
    $result=mysql_query($query) or die ("Query to get data from firsttable failed: " .mysql_error()); 

    while ($row = mysql_fetch_array($result)) { 
    $id = $row[id]; 
    $name =$row[name]; 
     echo "<option value=\"$id\"> 
      $name 
      </option>"; 
    } 
    ?> 
    </select> 

點評: 沒有工作指的是事實,選擇下拉是空的。 我確實將PHP從表單中拉出來,並將其放入它自己的name.php文件中以嘗試運行它。它似乎工作。所以我在php中添加了echo語句以回顯表單的開始和結束以及最初的選擇行。這工作很好,沒有問題,下拉式填充很好。 回到上面的HTML表單,我在PHP中添加了一些其他的echo語句來輸出一些調試語句。第一個回聲總是被忽略,它不會添加任何選擇項目。其他回波線只添加指定的文本,變量輸出爲變量名稱,而不是內容。所以$ name出現在選擇下拉菜單中。

+1

「沒有工作」怎麼樣?你會得到錯誤?腳本崩潰?輸出錯誤?你在'$ row [id]'和'$ row [name]'位上缺少'''引號,但通常只會在PHP中發出警告。 –

+1

請不要使用mysql_ *使用insted mysqli或PDO –

+0

@RegisteredUser怎麼樣? –

回答

5

您需要將單引號括在id和name中。這意味着你需要通過這個

$id = $row['id']; 
$name =$row['name']; 

不知道什麼是在DB_CONNECT和你的錯誤是,這是在什麼是錯的我最好的猜測來代替這個

$id = $row[id]; 
$name =$row[name]; 

+0

+1爲好趕上 –

+0

我同意,這不太可能是常數。 – doublesharp

+0

我相信這有幫助,但沒有解決我的問題。見上面的評論。 – Dag