php - Get Max Value from MYSQL Result Data

one text

Solution:

create 2 vars to store max DL and max View and other 2 vars to stores their dates

check the value for each rows, and print them after the loop.

$statquery = "SELECT * FROM wp_dstats WHERE postid = $postid ORDER BY date ASC LIMIT 7";
$statsdata = $wpdb->get_results( $statquery );

//declare vars
$max_vw = $max_dl = 0; // sorry can't remember how to declare PHP var
$max_vw_dt = $max_dl_dt = '';

if (count($statsdata) >= 1){
  foreach($statsdata as $stats){
    // CHECK AND STORE MAX DL & MAX VIEW
    if($stats->downloads > $max_dl){
      $max_dl = $stats->download;
      $max_dl_dt = $stats->date;
    }
    if($stats->views > $max_vw){
      $max_vw = $stats->views;
      $max_vw_dt = $stats->date;
    }

    // PRINT ALL RECORDS HERE    
    $views = $stats->views;
    $downloads = $stats->downloads;
    $date = $stats->date;
    echo $date.' - Views: '.$views.' | Downloads: '.$downloads.'<br />'; // you have a typo here: , -> should be .
  }
  // PRINT MAX DOWNLOADS AND MAX VIEWS WITH DATE HERE
  echo 'Max Download is '. $max_dl . ' on Date: ' . $max_dl_dt;
  echo 'Max Download is '. $max_vw . ' on Date: ' . $max_vw_dt;
}

Source