Ok, first of all, iframe works just like any other frame. That means that any page with an iframe needs to have two documents: a frameset and a frame. With iframe, the frameset can contain normal information. So yes, you will still need two pages:
On the first page, you will define your iframe:
<iframe src="" width="580" height="525" name="myIframe"></iframe>
The src attribute tells which page to load in the iframe when the page holding the iframe opens. If blank, nothing is displayed. By adding target to the links you tell them where to open. In our case, they will open in the frame called myIframe:
<a href="details.php?item=1" target="myIframe">Link 1</a>
details.php does not contain an iframe and is a normal page which opens inside the iframe on the first page.
Regarding the question about the page with links. The page that has the links will be the page that holds the iframe. And the page within the iframe will be the one that holds parsed information from the database the way sleipnir214 already explained. In that way, the page with the links does not have to be .php if it does not have any php code -- if you don't get the links from the database.
Here's a static html example of a working iframe:
Hope it helps.