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 Quote 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"; } } } Quote 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
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.