Я могу получить данные из базы данных 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.
Прямо сейчас я получаю все рынки, так что есть ли какой-то способ получить только те рынки, которые я укажу, основываясь на их полах: идентификатор_положения_позиции, идентификатор_предела_идентификатора.
Это вопрос, который задает большинство моих друзей, и все же я не нашел решения для этого.
Заранее спасибо!
Задача ещё не решена.
Других решений пока нет …