First of all, you are doing it wrong.
You should never manually add columns to any catalog_product_flat_* table.
These tables is just an index of the active products for each store view.
When you rebuild the indexes, these tables are regenerated. If you add a column to it you will lose it on the next reindex.
You should add a product attribute called custom_uid with the flag used in product listing set to yes.
Then reindex everything.
After that you can get the products collection for a specific customer like this:
$customerId = 8; //your customer id here - it can come from session
$collection = Mage::getModel('catalog/product')->
->addAttributeToSelect('*') // instead of * you can put an array with only the attributes you need
->getCollection()->addAttributeToFilter('custom_uid', $customerId);
Then you can simply loop through the collection and do something with each product, but don't use load in the foreach loop.
foreach ($collection as $product) {
//do something with $product
}
Best Answer
you can get all data with below query