The following code functions in part. The problem area, I believe, is near the query portion. After tbody, if I include the concatenate period (.) the code works, except the query itself becomes part of the message.
If I remove it, I receive a parse error (Parse error: syntax error, unexpected '$sql' (T_VARIABLE)). I am stuck.
Here is the result with the concatenation included:
Client List
Report requested by: Jim
ID  Name    Address     City    State   Zip     Telephone   Contact     Email
SELECT * FROM client ORDER BY name
1   Duke and Duke   5555 Rockefeller Plaza  New York    NY  10055   212-555-1212    Mortimer Duke   Randolph.Duke@Duke.com
Any assistance is appreciated!
//***********************  Email client list   ***********************//
if(isset($_POST['action']) && $_POST['action'] === 'email client list')
{
    include '../includes/dbconnect-local.php';
     /********  Prepare to mail  *********/
    // Recipients
    $jim = 'jim@gmail.com';
    $to = $jim;
    $from = 'Administrator@company.com';
    // Subject
    $subject = 'Client List';
    // Message
    $message = '
        <html>
        <body>
        <h2>Client List</h2>
        <h3>Report requested by: ' . $_SESSION['name']  . '</h3>
        <table style="width:100%;">
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Address</th>
                <th>City</th>
                <th>State</th>
                <th>Zip</th>
                <th>Telephone</th>
                <th>Contact</th>
                <th>Email</th>
            <tr>
        </thead>
        <tbody>
     ' .
    // Get all client data
    $sql = 'SELECT * FROM client ORDER BY name';
    $result = $db->query($sql);
    while($row = $result->fetch(PDO::FETCH_ASSOC))
    {                         
        $message .= '<tr>';
        $message .=         '<td>' . htmlspecialchars($row['id']) . '</td>';
        $message .=         '<td>' . htmlspecialchars($row['name']) . '</td>';
        $message .=         '<td>' . htmlspecialchars($row['address']) . '</td>';
        $message .=         '<td>' . htmlspecialchars($row['city']) . '</td>';
        $message .=         '<td>' . htmlspecialchars($row['state']) . '</td>';
        $message .=         '<td>' . htmlspecialchars($row['zip']) . '</td>';
        $message .=         '<td>' . htmlspecialchars($row['telephone']) . '</td>';
        $message .=         '<td>' . htmlspecialchars($row['contact_name']) . '</td>';
        $message .=         '<td>' . htmlspecialchars($row['contact_email']) . '</td>';
        $message .= '<tr>';
    }
    $message .= '
    </tbody>
    </table> 
    </body>
    </html>';
    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    // Additional headers
    $headers .= 'To: ' . "\r\n";
    $headers .= 'From: ' . $from . "\r\n";
    $headers .= 'Cc: ' . "\r\n";
    $headers .= 'Bcc: ' . "\r\n";
    // Mail it
    mail($to, $subject, $message, $headers);  
    // Redirect
    header('Location: .');
    exit();     
} 
