Mr Chris Posted May 29, 2009 Share Posted May 29, 2009 Hi All, I'm banging my head against the wall here with a while loop I have a query which reads: SELECT * FROM cfm_advertorials WHERE section_id = 1 AND site_no = 'sl' ORDER BY starts LIMIT 10 Which returns two results, so I put this in a while loop and only one result is returned. $SQL = "SELECT * FROM cfm_advertorials WHERE section_id = 1 AND site_no = 'sl' ORDER BY starts LIMIT 10"; print $SQL; $result = mysql_query($SQL) OR die(mysql_error()); $row = mysql_fetch_array($result); while ($row = mysql_fetch_assoc($result)){ echo '<ul id="advertisement-'.$row['customer_ref'].'" class="fw-1b inline-features fl mt10">' . "\n"; echo '<li>' . "\n"; echo '<p class="small-text">Advertising Feature</p>' . "\n"; echo '<p class="item-headline bold"><a href="'.FULLURL.'classified/webads/display/'.$starts.'/'.$row['adv_id'].'-'.$url_title.'">'.$row['title'].'</a></p>' . "\n"; echo '<p class="item-teaser">'.$row['intro'].'</p>' . "\n"; echo '</li>' . "\n"; echo '</ul>' . "\n"; } Yet If I take the AND site_no = 'sl' out of the query it gets more than one result. So is there something obvious i'm missing? Thanks Quote Link to comment Share on other sites More sharing options...
Jibberish Posted May 29, 2009 Share Posted May 29, 2009 remove $row = mysql_fetch_array($result); its just above the while loop, this will be reading one of the result from the set I imagen and moveing the internal pointer. Quote Link to comment Share on other sites More sharing options...
discomatt Posted May 29, 2009 Share Posted May 29, 2009 Jibberish has it. You must reset the internal pointer after $row = mysql_fetch_array($result); Remove it or try mysql_data_seek() Quote Link to comment 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.