2012-02-20 49 views
1

我正在查询数据库以获取在线忠诚计划的不同奖品价值。如何从数据库循环中获取值并将其添加以备后用

我知道这将是一个有点简单的问题,但我还在习惯PHP所以这里去...

这是我到目前为止有:

<?php $sqlprize="SELECT prizeid FROM wp_scloyalty_orders WHERE userid = '$user_id'"; 

      $resultprize=mysql_query($sqlprize); ?> 

      <?php while($rows=mysql_fetch_array($resultprize)){ 

        query_posts('post_type=prizes&showposts=-1&p='.$rows['prizeid'].''); while (have_posts()) : the_post(); 
        $my_meta = get_post_meta($post->ID,'_my_meta',TRUE); 


         //echo $my_meta['pointsvalue']; 

        endwhile; 
        wp_reset_query(); 



      } ?> 

基本上我希望它这样每次循环的数据库查询它增加值(my_meta [“pointsvalue”]一个数组,我可以循环外使用时间......

谢谢!

编辑--- - -------------

   <?php $purchasevalue=array(); ?> 

      <?php $sqlprize="SELECT prizeid FROM wp_scloyalty_orders WHERE userid = '$user_id'"; 

      $resultprize=mysql_query($sqlprize); ?> 

      <?php while($rows=mysql_fetch_array($resultprize)){ 

        query_posts('post_type=prizes&showposts=-1&p='.$rows['prizeid'].''); while (have_posts()) : the_post(); 
        $my_meta = get_post_meta($post->ID,'_my_meta',TRUE);    

         $purchasevalue[] = $my_meta['pointsvalue'];   
        endwhile; 
        wp_reset_query(); 

      } ?> 

      <?php echo array_sum($purchasevalue) ?> 

谢谢你们,把它排序到最后......这是做这件事的好方法吗?

+0

你有什么计划的代码段范围内指的是派生值,从你的应用程序的任 – 2012-02-20 18:33:41

+0

实际应用中的任何地方,使用它来减去每个用户在其账户中留下的点数。想想我对它进行了整理......无论如何它都有效,是否认为它是一种适合它的好方法? – JamesG 2012-02-20 20:36:07

+0

如果我是你,我会将此值作为成员添加到用户帐户对象,因此在他们登录时计算金额,然后通过用户帐户对象设置值。然后你可以像'$ user-> getPointsValue()'一样检索它。 – 2012-02-20 21:49:43

回答

1

可以使用array_push将值添加到一个数组

$array = array(); 

while().... 
    $my_meta = .... 
    array_push($array, $my_meta); 
end while; 

//Your array is now 
print_r($array); 

希望这是你要找的

+0

谢谢,是的,这是会做到这一点,但在我读之前,我认为我自己排序。那你认为呢? – JamesG 2012-02-20 20:36:50

相关问题