首页 > 解决方案 > SQL COUNT() 和 Angular

问题描述

我在使用 Angular 显示我的 SQL 命令 (Count()) 时遇到问题。

PHP文件(这个文件没有问题):

$app->get('/animal/{idA}/nb', function ($idA) use ($app) {
$sql = "SELECT COUNT(*) as nbTotal FROM animal WHERE idAnimal = :idA;
$animalCount = $app['db']->fetchAssoc($sql, array('idA' => (int) $idA));

 return json_encode($animalCount); });

但是要使用 Angular 显示它:

动物服务.ts

getNbAnimals(idA: number){ return this.http.get(this.apiUrl + '/animal/' + idA + '/nb'); }

动物组件.ts

 getNbAnimals(idA: number){ this.animalService.getNbAnimals(idA); }

动物.component.html

<p>{{getNbAnimals(idAnimal.value)}}</p>

这个 HTML 文件的结果是 [object Object]。我不知道如何显示我的 COUNT()。如果你能帮助我,谢谢!

标签: mysqlangularcount

解决方案


那是因为您试图显示该函数返回的内容,这通常是可观察的。而是尝试:

<p>{{getNbAnimals(idAnimal.value) | async}}</p>

或者 subscribe在 TS 部分的那个服务上:

 getNbAnimals(idA: number){ 

    return this.animalService.getNbAnimals(idA)
           .subscribe((response)=> return response);
 }

推荐阅读