Извикване на mysql_fetch_assoc() извлича следващия ред (т.е. следващия, който още не сте изтеглили). След като извлечете всички редове, той връща false . Така че, след като сте преминали през този първи цикъл, имате извлече всички редове и всичко, което ще получите обратно, е false всеки път!
Ако трябва да използвате повторно едни и същи данни два пъти, какво ще кажете да поставите всички в масив?
$rows = array();
while($row = mysql_fetch_assoc($affiliateID)){
$rows[] = $row;
}
Сега можете да повторите през $rows колкото пъти искате:
foreach($rows as $row) { ... }