PHP if post is already displayed, then

Track the IDs, and “exclude” them with post__not_in. It is hard to tell exactly what does what with the disjointed way you posted your code but the general case solution is ..

$c_posts = new WP_Query("showposts=10");
$tracker = array();
if ($c_posts->have_posts()) {
  while ($c_posts->have_posts()) {
   $c_posts->the_post();
   $tracker[] = get_the_ID();
   // more code
  }
}
$other_loop = new WP_Query(array('post__not_in' => $tracker));

Depending on how much control you have over things, there are other ways to do it. For example,if you need 5 posts in the carousel and 10 in the body you could pull all 15 at once, use the first five in the carousel and the use up the rest later, thus saving yourself a query.

Reference

http://codex.wordpress.org/Class_Reference/WP_Query

error code: 523