gpt4 book ai didi

php - Mysql Select查询相同的列名但具有不同的值

转载 作者:行者123 更新时间:2023-11-29 06:40:40 27 4
gpt4 key购买 nike

我有这张表:

id sh_id meta_key meta_value
1 1 country 111
2 1 state 10
3 1 city 5
4 2 country 110
5 4 state 11
....

我将向函数传递一个数组值。数组包含如下值

$array = array('country_id'=>111,'state_id'=>10,'city_id'=>1);

function getValue($array)

我想得到那些数组值的结果应该与 meta_key 和 meta_value 匹配

例如:查询匹配数组的 country_id 值与 meta_value 和 meta_key 'country' 以及 state 和 city

它应该在一个查询中。

我试过下面的查询,但它不起作用

$this->db->where('meta_key', 'country');
$this->db->or_where('meta_value', $array['country_id']);
$this->db->where('meta_key', 'state');
$this->db->or_where('meta_value', $array['state_id']);
$query = $this->db->get("at_featured_shops");

最佳答案

你可以这样做:

<?php
$array = array(
'country' => 111,
'state' => 10,
'city' => 5
);

function getValue($array) {

$where = 'WHERE ';

$or = '';
foreach($array as $key => $value) {
$where .= $or."(meta_key = '".$key."' AND meta_value = '".$value."')";
$or = ' OR ';
}
$query = $this->db->query("SELECT * FROM table ".$where);

}

getValue($array);

?>

关于php - Mysql Select查询相同的列名但具有不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21771484/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com