You can probably use GROUP BY to show only 1 like:
SELECT p.*,d.logo_img,d.businessname,d.firstname,d.lastname, d.membership_type FROM tbl_posts p INNER JOIN tbl_directorylistings d ON(d.id = p.customerid) WHERE p.displaylevel = 'Public' AND p.customerid !='' AND d.membership_type = 'PV' GROUP BY customerid ORDER BY p.dateposted DESC