根据php指定数组到数据库中查询字段的值

我发现他得方法是错误的,但是已经选择为答案,改不了了。
所以再开一题,希望能帮个忙
提出数组后如何再根据$arr[id]到数据库中查询字段key里的logo值。
my数据表单有mid,id,key,value四列
<?php
$posts = $wpdb->get_results("SELECT id,key,value FROM $wpdb->my WHERE key = 'views' ORDER BY CAST(value as SIGNED) DESC LIMIT 0 , 10");
$i=0;
foreach ($posts as $my) {
$id = $my->id;
$arr[]=$id;
$count = $my->value;
if($count!=0){

echo $arr[$i];
$i++;

}
}
?>
这是原题http://zhidao.baidu.com/question/917859785401190059.html

我按views排列出id顺序,然后用排列好的id再去查出key.logo的值
所以我把按views排列好顺序的id放进了arr[],
然后用arr[]去查数据库key.logo的值。

key底下有views与logo两个字段
views的降序是为了得到与views降序后的id排序的logo值
降序后 最终需要
id key value id key value
5 views 14 5 logo 。。
15 views 10 15 logo 。。
12 views 9 12 logo 。。
24 views 5 24 logo 。。
。 。

可以给取出来的值 放在变量里, 以 逗号的形式 分割,然后 在查询数据库 以 In() 的形式查询,就行了。。追问

$str=implode(",", $arr);
SELECT * FROM $wpdb->my WHERE key = 'logo' AND post_id in ($str)
这样就会把比如36这样数分拆成3,6

追答

不可能吧! 那你肯定是 这个数组 就是 3 和 6 他是链接的数组中的值。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-11
select * from a表,b表 where a表.id=b表.id追问

一张表

追答view降序是吧,SELECT logo FROM 表名 WHERE  ORDER BY  view DESC 感觉你复杂化了,同一张表,用view排序不就完了

来自:求助得到的回答
第1个回答  2014-02-11
你的意思是表一的id和表二的id是对应的么?然后根据表一查出来的id顺序查找表二的key?
select t2.id,t2.key,t2.value from t2 join t1 on t2.id=t1.id where t1.key='views' order by t1.value desc
第2个回答  2014-02-11
源码贴出来,这样什么都看不清

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网