Hi again,
As a rule, I would use whichever field was the primary key, it's just good practise.
Onto the main part of your question: there's no specific reason NOT to put html in your index page, but it's often a convenience and can be easier to maintain depending on how you intend to build your site.
One way you may want to tackle this is:
1) Build a static page dealing with a specific broker.
<html>
<head>
<title>Fred Bloggs</title>
</head>
<body>
<h1>Fred Bloggs</h1>
<p>Fred is a blah blah ...</p>
</body>
</html>
2) Trawl through the HTML, plucking out the specific values and replacing them with php vars and declaring those vars at the top of the page.
<?php
$broker_name = 'Fred Bloggs';
$broker_cv = 'Fred is a blah blah ...';
?>
<html>
<head>
<title><?php echo $broker_name; ?></title>
</head>
<body>
<h1><?php echo $broker_name; ?></h1>
<p><?php echo $broker_cv; ?></p>
</body>
</html>
3) Now you can use the line I gave earlier (or a version of) to extract the unique id, use that id to pull data from the db and replace the declarations in part 2
<?php
$broker_id = isset($_REQUEST['broker'])? $_REQUEST['broker']: 0;
if($broker_id == 0){
echo 'Default page';
} else {
// assuming you're connected
$sql = 'SELECT * FROM `broker` WHERE `broker_id` = '.$broker_id;
$res = mysql_query($sql);
if(mysql_num_rows($res) == 0){
die('No records found');
} else {
$broker = mysql_fetch_assoc($res);
$broker_name = $broker['name'];
$broker_cv = $broker['cv'];
?>
<html>
<head>
<title><?php echo $broker_name; ?></title>
</head>
<body>
<h1><?php echo $broker_name; ?></h1>
<p><?php echo $broker_cv; ?></p>
</body>
</html>
<?php
}
}
?>
P.