0
我有一個WordPress數據庫。在postmeta表格中,我們爲每個帖子設置了3個不同的值。我們更新我們的主題3次,並在每次帖子數量彼此不同。我想做這個;有在不同的行中一個表值:SQL收集來自不同行的值並更新新行
交ID 10值1:更好的視圖計數3455
交ID 10值2:post_stats 522
交ID 10值3:post_views_count 52
我想總結三個並更新結果post_views_count。
我該怎麼做,我應該用什麼sql?
我認爲沒有選擇使用SQL fol 1000發佈它應該是一個php代碼。但我無法想象我應該使用它的sql。
EDITED
後,我做出一些改變和研究,我發現了一個解決方案:
<?php $my_meta = bf_get_post_meta('better-views-count');?>
<BR>
<?php $my_meta2 = bf_get_post_meta('post_stats');?>
<BR>
<?php $my_meta3 = bf_get_post_meta('post_views_count');?>
BETTER:
<?php echo $my_meta ?>
<BR>
POST STATS:<?php echo $my_meta2 ?><BR>
POST VIEW COUNT:<?php echo $my_meta3 ?>
<BR>
TOTAL:
<?php
$a=array("a"=>$my_meta,"b"=>$my_meta2,"c"=>$my_meta3);
$total_sum = array_sum($a);
echo $total_sum;
?>
<?php
$row = $wpdb->get_row($wpdb->prepare("SELECT * FROM wp_postmeta WHERE post_id = $post->ID;"));
if ($row) {
$qry_result = $wpdb->update(
wp_postmeta,
array(
'id' => $row->id,
'post_id' => $post->ID ,
'meta_key' => "better-views-count",
'meta_value' => $total_sum
),
array(
'%s',
'%s',
'%s'
)
);
} else {
$qry_result = $wpdb->insert(
wp_postmeta,
array(
'post_id' => $post->ID,
'meta_key' => "better-views-count",
'meta_value' => $total_sum
),
array(
'%s',
'%s',
'%s'
)
);
}
if(false !== $qry_result) {
$qry_result = true;
}
$response = array('success' => $qry_result, 'data' => 'hello'); //if $data is set
echo $qry_result;
?>
結果:
更好:
POST STATS:37
POST VIEW COUNT:909
TOTAL:946
,它應該更新,並應
更好:946
POST STATS:37
POST瀏覽次數:909
總計:1892年
我做了一個更新,我可以計算它們,但我無法更新。我做了一個顯示給我的500頁的帖子,並把它放在標題的循環中。並在此頁面顯示結果不會改變 –