我可以使用以下方法从离子数据库中的MySQL数据库中获取数据:
market.ts ->提供程序
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
@Injectable()
export class MarketProvider {
constructor(public http: HttpClient) {}
getMarket(){
return this.http.get<any[]>('https://www.test.com/fetchMarket.php')
}
}
fetchMarket.php
$mysqli =mysqli_connect("localhost", "username", "password", "database");
mysqli_set_charset($mysqli,"utf8");
$query = "SELECT * FROM market";
$dbresult = $mysqli->query($query);
while($row = $dbresult->fetch_array(MYSQLI_ASSOC)){
$data[] = array(
'id' => $row['mar_id'],
'name' => $row['mar_name'],
);
}
if($dbresult){
$result = json_encode($data);
}
else {
$result = "{'success':false}";
}
echo $result;
market.ts
import { Component } from '@angular/core';
import { NavController, NavParams} from 'ionic-angular';
import { MarketProvider} from '../../providers/market/market'
@Component({
selector: 'page-market',
templateUrl: 'market.html',
})
export class MarketPage {
public allMarket = [];
cat_id: string;
location_id: string;
gender_id: string;
constructor(private Market : MarketProvider, public navCtrl: NavController, public navParams: NavParams) {
this.cat_id = navParams.get('cat_id');
this.gender_id= navParams.get('gender_id');
this.location_id= navParams.get('location_id');
}
ionViewDidLoad() {
this.Market.getMarket()
.subscribe((response)=>{this.allMarket = response});
}
}
market.html
<button ion-button block *ngFor="let market of allMarket">
{{market.name}}
</button>
现在,我想问一个问题,即可以根据特定条件从MySQL数据库获取数据,例如:
我可以获取这样的数据并将其显示在 market.html
中吗$query = "SELECT * FROM market where category_id = $cat_id and gender_id = $gen_id and location_id = $location_id";
简而言之,我想根据传递给PHP文件以生成JSON文件并将其显示在market.html页面中的值从数据库中获取数据。
现在我获得了所有市场,那么有什么办法可以只获得我根据其性别ID,地理位置ID和类别ID指定的市场。
这是我大多数朋友问的一个问题,但我仍然没有找到解决方案。
谢谢!