else they cannot be merged if ($c1['loose'] == 'false' && $c2['loose'] == 'false') { die("both customers are not loose..."); } if ($c2['loose'] == 'false') { $tmp = $c2; $c2 = $c1; $c1 = $tmp; } // merge customer data $fields = array('firstname', 'surname', 'email', 'address', 'zip', 'city', 'phone', 'acad', 'gender'); foreach ($fields as $field) { if ($c1[$field] != $c2[$field]) { if (empty($c1[$field])) { $c1[$field] = $c2[$field]; } } } if ($c2['newsletter'] == 'false') { $c1['newsletter'] = 'false'; } $query = sprintf("UPDATE bruckmuehle_ticketcustomer SET firstname = %s, surname = %s, email = %s, acad = %s, address = %s, zip = %d, city = %s, phone = %s, gender = %s, newsletter = %s, loose = %s WHERE id = %d", sqlstring($c1['firstname']), sqlstring($c1['surname']), sqlstring($c1['email']), sqlstring($c1['acad']), sqlstring($c1['address']), sqlnum($c1['zip']), sqlstring($c1['city']), sqlstring($c1['phone']), sqlstring($c1['gender']), sqlstring($c1['newsletter']), sqlstring($c1['loose']), sqlnum($c1['id'])); dbQuery($query); $query = sprintf("DELETE FROM bruckmuehle_ticketcustomer WHERE id = %d", sqlnum($c2['id'])); dbQuery($query); // merge group memberships $query = sprintf("SELECT * FROM bruckmuehle_ticketcustomergroupmemberships WHERE customerId = %d", sqlnum($c2['id'])); $result = dbQuery($query); while ($line = mysqli_fetch_array($result)) { $query = sprintf("INSERT IGNORE INTO bruckmuehle_ticketcustomergroupmemberships (groupId, customerId) VALUES (%d, %d)", sqlnum($line['groupId']), sqlnum($c1['id'])); dbQuery($query); } $query = sprintf("DELETE FROM bruckmuehle_ticketcustomergroupmemberships WHERE customerId = %d", sqlnum($c2['id'])); dbQuery($query); // merge tickets and orders $query = sprintf("UPDATE bruckmuehle_ticketorder SET customerId = %d WHERE customerId = %d", sqlnum($c1['id']), sqlnum($c2['id'])); dbQuery($query); echo "merged successfully"; ?>