簡體   English   中英

如何從 Angular 4 中的 MySQL 表填充下拉框

[英]How to populate a drop-down box from a MySQL table in Angular 4

在 PHP 和 HTML 中,我只是簡單地用於獲取數組中的數據並將其顯示在選擇框中,如下所示:

<?php

mysql_connect('hostname', 'username', 'password');
mysql_select_db('database-name');

$sql = "SELECT nameid FROM PC";
$result = mysql_query($sql);

echo "<select name='PcID'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['nameid'] . "'>" . $row['nameid'] . "</option>";
}
echo "</select>";

?>

我的意思是我可以連接到 MySQL 數據庫,發出查詢,並為表中每一行的<select>框輸出<option>標簽

但是我如何在 Angular 4 中實現相同的目標?

最好的方法是獲取 JSON 中的數據,然后通過創建 API 將其顯示在前端? 或者有其他方法嗎?

最好的方法是將數據作為 JSON 返回。 使用 rxjs subscribe 您可以像這樣獲取數據

 users:any[]= [];
fetchData(){
  this.http.get("users/all-users")
      .subscribe((res)=>{
        this.users = res.data
       })

  }

所以在html中它會是這樣的

<select>
    <option *ngFor="let user of users" value="user.id">
  {{ user.name }}
</option>

 </select>

所以在你的 php 中返回這樣的數據

function getUsers(){

  mysql_connect('hostname', 'username', 'password');
   mysql_select_db('database-name');

   $sql = "SELECT nameid FROM PC";
   $result = mysql_query($sql);

  return ["data"=>$result];
 }

不過建議不要使用普通的 php,而是使用像 laravel/yii2 這樣的框架,這使得返回數據變得容易。

注意:Angular4 是一個前端框架,所以你不能像在 php 框架中那樣使用 echo。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM