I think the error can be found in the following piece of code:
echo "<tr><th bgcolor=\"#CCCCFF\">Order Date</th>
<th bgcolor=\"#CCCCFF\">Tires</th>
<th bgcolor=\"#CCCCFF\">Oil</th>
<th bgcolor=\"#CCCCFF\">Spark Plugs</th>
<th bgcolor=\"#CCCCFF\">Total</th>
<th bgcolor=\"#CCCCFF\">Address</th>
<tr>";
Your last <tr> tag should be an closing tag.
Kind regards
Steven Boers
----- Original Message -----
From: "Tim Dunphy" <bluethundr@xxxxxxxxx>
To: "PHP General" <php-general@xxxxxxxxxxxxx>
Sent: Sunday, January 04, 2015 4:31 AM
Subject: problem formatting output
Hey all,
Followign along in php & mysql web development by Luke Welling and Laura
Thompson I came along an example to format the output text file. The file
was meant to hold the orders of a fctional online store.
Here's the output of the code:
Bob’s Auto PartsCustomer OrdersOrder DateTiresOilSpark
PlugsTotalAddress9:49pm
EST Saturday, 01/03/2015125$140.00960 Fairview Dr08753010:05pm EST
Saturday, 01/03/2015125$140.00904 Sylvan Ave07632010:06pm EST Saturday,
01/03/2015334$346.00900 Sylvan Ave07632010:07pm EST Saturday, 01/03/2015125
$140.00960 Fairview Dr087530
As you can see, at the first line the address entry doesn't line up and
then throws the rest of the form out of whack.
Here's the code that I tried:
<?php
//create short variable name
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
?>
<html>
<head>
<title>Bob’s Auto Parts - Customer Orders</title>
</head>
<body>
<h1>Bob’s Auto Parts</h1>
<h2>Customer Orders</h2>
<?php
//Read in the entire file.
// Each order becomes an element in the array
$orders= file("$DOCUMENT_ROOT/../orders/orders.txt");
// count the number of orders in the array
$number_of_orders = count($orders);
if ($number_of_orders == 0) {
echo "<p><strong>No orders pending. Please try again
later.</strong></p>";
}
echo "<table border=\"1\">\n";
echo "<tr><th bgcolor=\"#CCCCFF\">Order Date</th>
<th bgcolor=\"#CCCCFF\">Tires</th>
<th bgcolor=\"#CCCCFF\">Oil</th>
<th bgcolor=\"#CCCCFF\">Spark Plugs</th>
<th bgcolor=\"#CCCCFF\">Total</th>
<th bgcolor=\"#CCCCFF\">Address</th>
<tr>";
for ($i=0; $i<$number_of_orders; $i++) {
//split up each line
$line = explode("\t", $orders[$i]);
// keep only the number of items ordered
$line[1] = intval($line[1]);
$line[2] = intval($line[2]);
$line[3] = intval($line[3]);
/*
for ($x = 0; $x <= count($line); $x++) {
var_dump($line[$x]);
echo "<br />";
}
*/
// output each order
echo "<tr>
<td>".$line[0]."</td>
<td align=\"right\">".$line[1]."</td>
<td align=\"right\">".$line[2]."</td>
<td align=\"right\">".$line[3]."</td>
<td align=\"right\">".$line[4]."</td>
<td>".$line[5]."</td>
</tr>";
}
echo "</table>";
?>
</body>
</html>
I've tried staring at the code for a while, but unfortunately I can't seem
to wrap my head around why this is outputting incorrectly. I was hoping
some more experienced hands could have a look and let me know where I'm
going wrong in this example.
Certainly thanks for your help! This list is really a benefit to my ongoing
education with PHP! And I definitely appreciate the help!
Tim
--
GPG me!!
gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php