How can I select using the same fields from an undetermined number of tables using MySQL?
As far as I know, the only way you can dynamically put something in FROM is to use Prepared Statements. Also, I believe you should use UNION to get results you want, not cross join. For instance, you result query should look like 

SELECT * FROM 
(
   select bar_id, bar_weight from table1
   UNION 
   select bar_id, bar_weight from table2
)a
WHERE ... ORDER BY ... LIMIT ... 


Not

select bar_id, bar_weight 
from table1,table2
WHERE ... ORDER BY ... LIMIT ...