The sql select that is executed when viewing the product grid is this:
SELECT `e`.*, `at_qty`.`qty`, `at_status`.`value` AS `status`, `at_visibility`.`value` AS `visibility` FROM `catalog_product_entity` AS `e`
LEFT JOIN `cataloginventory_stock_item` AS `at_qty` ON (at_qty.`product_id`=e.entity_id) AND (at_qty.stock_id=1)
INNER JOIN `catalog_product_entity_int` AS `at_status` ON (`at_status`.`entity_id` = `e`.`entity_id`) AND (`at_status`.`attribute_id` = '273') AND (`at_status`.`store_id` = 0)
INNER JOIN `catalog_product_entity_int` AS `at_visibility` ON (`at_visibility`.`entity_id` = `e`.`entity_id`) AND (`at_visibility`.`attribute_id` = '526') AND (`at_visibility`.`store_id` = 0)
The attribute ids may be different depending on your instance, but the idea is that the main table (
INNER JOIN-ed with the
catalog_product_entity_int twice. Once for showing the status and once for showing the visibility.
If you don't have values in the
visibility for some products they won't appear in the grid.
But you can still edit the product. Just click on any edit link and then change the id in the url to the one you need. If click save on it you will be able to see that on the grid.
I guess you cannot do that for 100 products manually.
but you can run this script that will automatically add status and visibility to the imported products.
Identify the product ids that are missing in the grid but they are present in the
catalog_product_entity table and put them all in an array. Let's call that
Then run this:
This should solve your issue.
If you modified the default grid and added your own attributes then you might need to add them in this script also.
Try it first for one product and see if it works.