我发现他得方法是错误的,但是已经选择为答案,改不了了。
所以再开一题,希望能帮个忙
提出数组后如何再根据$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 。。
。 。
$str=implode(",", $arr);
SELECT * FROM $wpdb->my WHERE key = 'logo' AND post_id in ($str)
这样就会把比如36这样数分拆成3,6
不可能吧! 那你肯定是 这个数组 就是 3 和 6 他是链接的数组中的值。。
一张表
追答view降序是吧,SELECT logo FROM 表名 WHERE ORDER BY view DESC 感觉你复杂化了,同一张表,用view排序不就完了来自:求助得到的回答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