Jim R Posted January 22, 2012 Author Share Posted January 22, 2012 I put it in. It didn't tell me anything. Here is what is produced: string(0) "" : 1 members Link to comment https://forums.phpfreaks.com/topic/255101-trouble-with-using-serialized-data/page/3/#findComment-1310137 Share on other sites More sharing options...
Jim R Posted January 23, 2012 Author Share Posted January 23, 2012 It wasn't just about the variable but the location of the IF loop. $subscriptionLevels = array( 's2member_level3' => 'Yearly', 's2member_level2' => 'Semi-annual', 's2member_level1' => 'Monthly' ); $query = 'SELECT um1.meta_value as custom, um2.meta_value as level, u.ID,u.user_login, u.user_email FROM wp_usermeta um1 INNER JOIN wp_usermeta um2 ON um1.user_id = um2.user_id JOIN wp_users u ON um1.user_id = u.ID WHERE um1.meta_key = "wp_s2member_custom_fields" AND um2.meta_value LIKE "%s2member_level%" GROUP BY um1.user_id'; $result = mysql_query($query); //Process results into temp array $regionData = array(); while($row = mysql_fetch_assoc($result)) { //var_dump($row); $custom = unserialize($row['custom']); $user_region = $custom['county']; $level = unserialize($row['level']); $level_desc = key($level); //E.g. s2member_level3 if ($level_desc != "s2member_level4") { $user_level = $subscriptionLevels[$level_desc]; } if(!isset($regionData[$user_region])) { $regionData[$user_region] = array_fill_keys($subscriptionLevels, 0); } $regionData[$user_region][$user_level]++; } //Output the results foreach ($regionData as $region => $data) {if ($region != 0) { echo "<br>Region {$region}<br>\n"; foreach($data as $subscription_type => $member_count) { var_dump($subscription_type); echo "{$subscription_type}: {$member_count} members<br>\n"; } } } Link to comment https://forums.phpfreaks.com/topic/255101-trouble-with-using-serialized-data/page/3/#findComment-1310403 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.