在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数据库,发出查询,并从表格中的每一行输出一个框的标签
但是我如何在angular4中实现相同的目标?
最好的方法是在jsn中获取数据,然后通过创建API在前端显示它?或者还有其他方法吗?
请告知快速选项。
答案 0 :(得分:1)
最好的方法是将数据作为json返回 使用rxjs订阅,您可以像这样获取数据
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这样的框架,这样可以轻松返回数据
NB:
Angular4是一个前端框架,所以你不能像在php框架中那样使用echo。
希望这有帮助。