[英]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.