gpt4 book ai didi

php - 在第 2 行中查找特定值并显示第 3 行中的值

转载 作者:行者123 更新时间:2023-11-30 22:57:04 24 4
gpt4 key购买 nike

我刚刚开始学习 mysql,所以这可能非常简单。

我有一个包含以下示例数据的 3 行表

user_id    metakey       meta_value
1 image_type avatar
1 location london
1 image_url 1.jpg
2 image_type facebook
2 location somewhere
2 image_url

如果我想要来自另一个 metakeymeta_value 数据,如何获取 meta_value 的值而无需每次都重新查询表?

所以 1->location 会显示 london 2->image_type 会显示 facebook 等等。

经过一些摆弄,我最终来到了这里:

$query_usermeta = "SELECT * FROM usermeta WHERE user_id = '$user_id'" or die("Error in the consult.." . mysqli_error($link));
//execute the query.
$result_usermeta = mysqli_query($link, $query_usermeta);
/* associative array */
$userdatameta = $result_usermeta->fetch_array(MYSQLI_ASSOC);

然后使用 echo $userdatameta['meta_value'] 但我如何指定要显示的 meta_value?

我知道我可以在 mysql 查询中执行此操作,例如 WHERE metakey = 'location' 但是我必须多次查询才能获取所有值,不是吗?

最佳答案

与其对每一行运行查询,不如将数组构建为键值对,仅通过用户 ID 进行查询

SELECT * FROM usermeta WHERE user_id = '$user_id'

循环你的结果

$metaData=array();

while($row = $result_usermeta->fetch_array())
{
$metaData[$row['metakey']] = $row['meta_value'];
}

现在在 $metaData 中,您将值作为键值对作为

array(
'image_type'=>'avatar',
'location' =>'london',
'image_url'=>'1.jpg'
)

现在使用您的值作为位置 echo $metaData['location'] 用于图像 url echo $metaData['image_url']

关于php - 在第 2 行中查找特定值并显示第 3 行中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25841352/

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