Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 346
  • Last Modified:

Styling HTML Table output from MySQL Query Results

I am attempting to create a report that will output the transactions for all clients in my database. I'm having a hard time getting the layout right, though. I need a space between the last row of the data table and the next client table header row.

I haven't started styling this yet, so please be kind - it's terribly ugly. If you have any suggestions on that front, please include them!

Here's what I have now:
Report Table
And here's my code:
<?php
include('config.php');
$account = ''; // Declare Account to Empty

$sql = "SELECT * from client, billing WHERE client.id = billing.client ORDER BY client.id DESC";
$result = mysql_query($sql) or die(mysql_error());

// Keeps getting the next row until there are no more to get
while($row = mysql_fetch_array($result)){
   if ($row['account'] != $account) { // check if new account
        $account = $row['account'];
        if ($cnt > 0) echo '</tr>'; // check if open table row
        $cnt = 0; // set $cnt to zero and echo table row for new account
        echo "<table border='1' width='800px' align='center'><th>Client ID</th><th>First Name</th><th>Last Name</th><th>Case Style</th><th>Accident Date</th><th>SOL Expires</th>";
        echo "<tr><td>";
        echo $row['account'];
        echo "</td><td>";
        echo $row['fname'];
        echo "</td><td>";
        echo $row['lname'];
        echo "</td><td>";
        echo $row['casestyle'];
        echo "</td><td>";
        echo $row['accidentdate'];
        echo "</td><td>";
        echo $row['solexpires'];
        echo "</td></tr></table>";
        echo "<br /><table border='1' width='800px' align='center'>";
        echo "<tr><th>Date</th><th>Client ID</th><th>Transaction Type</th><th>Charge</th><th>Billed From</th><th>Payment</th></tr>";
        }
        if ($cnt == 0) echo '<tr>';
        // Print out the contents of each row into a table
        echo "<td>";
        echo $row['date'];
        echo "</td><td>";
        echo $row['account'];
        echo "</td><td>";
        echo $row['job_type'];
        echo "</td><td>";
        echo $row['charge'];
        echo "</td><td>";
        echo $row['job_type'];
        echo "</td><td>";
        echo $row['payment'];
        echo "</td></tr>";
        $cnt++;
}

echo "</table>";
?>

Open in new window


Thanks in advance for your help.
0
goodie069
Asked:
goodie069
1 Solution
 
nrbreenCommented:

You appear to be missing the /table after each data section

Change

        if ($cnt > 0) echo '</tr>'; // check if open table row

Open in new window


To

        if ($cnt > 0)  { echo '</tr></table><br />'; } // check if open table row

Open in new window

0
 
goodie069Author Commented:
Ugh, I knew it was something glaringly obvious. Thank you!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now