I don't think your issue is with the index (although it would help increase performance). I think the issue is this query is producing a Cartesian product -- you aren't relating the 2 tables:
SELECT catalog.book_title, press.*
FROM catalog, press WHERE press.id_catalog = $id
Instead, it should be something like:
SELECT catalog.book_title, press.*
FROM catalog
JOIN press ON catalog.id = press.id_catalog
WHERE press.id_catalog = $id