Re: [PHP] Database abstraction?
- From: lists@xxxxxxxxx (Jim Lucas)
- Date: Thu, 17 Apr 2008 08:14:24 -0700
Stut wrote:
On 17 Apr 2008, at 13:33, Jason Pruim wrote:Maybe I'm showing my ignorance here in programming... Maybe it's because I delt with a kid who decided to scream for a good share of the night and I'm sleep deprived :) But in my current system I have this:
echo <<<HTML
<div>
<table border="1">
<tr>
<td><a href="?order=a">First Name</a></td>
<td><a href="?order=b">Last Name</a></td>
<td><a href="?order=c">Address 1</a></td>
<td><a href="?order=d">Address 2</a></td>
<td><a href="?order=e">City</a></td>
<td><a href="?order=f">State</a></td>
<td><a href="?order=g">Zip</a></td>
<td><a href="?order=h">Code</a></td>
<td><a href="?order=i">ID #</a></td>
HTML;
while($row = mysqli_fetch_assoc($result)) {
//display the info using heredoc syntac
echo <<<HTML
<tr>
<td>{$row['FName']}</td>
<td>{$row['LName']}</td>
<td>{$row['Add1']}</td>
<td>{$row['Add2']}</td>
<td>{$row['City']}</td>
<td>{$row['State']}</td>
<td>{$row['Zip']}</td>
<td>{$row['XCode']}</td>
<td>{$row['Record']}</td>
HTML;
}
What I want to do is take that first block of code, the one with the links for sorting, and instead of this: "<td><a href="?order=a">First Name</a></td>" I want to put something more like this: "<td><a href="?order=a">$FIELDNAMES[$field{$id}]</a></td>" So I can grab the field names from the database, instead of hardcoding them into my program.
I think I am sleep deprived because the more I tried to clarify it... the harder it got for me to understand :)
echo <<<HTML
<div>
<table border="1">\
HTML;
$first = true;
while ($row = mysqli_fetch_assoc($result)) {
if ($first)
{
echo '<tr>';
foreach (array_keys($row) as $field) {
echo '<td>'.htmlentities($field).'</td>';
}
echo '</tr>';
$first = false;
}
// Output the row here as above
}
-Stut
Very good example, but I would remove data retrieval from the display of data.
<?php
$dataSet = array();
while ($row = mysqli_fetch_assoc($result)) {
$dataSet[] = $row;
}
# do some other stuff
# now display
# Check to see if there is anything in the dataSet
if ( count($dataSet) > 0 ) {
echo '<table>';
# Get the names of the columns from the first result set
$headers = array_keys($dataSet[0]);
# Print the column names
echo '<tr>';
foreach ( $headers AS $column_name ) {
echo "<th>{$column_name}</th>";
}
echo '</tr>';
# Now print your data
foreach ( $dataSet AS $row ) {
echo <<<ROW
<tr>
<td>{$row['FName']}</td>
<td>{$row['LName']}</td>
<td>{$row['Add1']}</td>
<td>{$row['Add2']}</td>
<td>{$row['City']}</td>
<td>{$row['State']}</td>
<td>{$row['Zip']}</td>
<td>{$row['XCode']}</td>
<td>{$row['Record']}</td>
</tr>
ROW;
}
echo '</table>';
}
?>
--
Jim Lucas
"Some men are born to greatness, some achieve greatness,
and some have greatness thrust upon them."
Twelfth Night, Act II, Scene V
by William Shakespeare
.
- Follow-Ups:
- Re: [PHP] Database abstraction?
- From: Jason Pruim
- Re: [PHP] Database abstraction?
- References:
- Database abstraction?
- From: Jason Pruim
- Re: [PHP] Database abstraction?
- From: Chris
- Re: [PHP] Database abstraction?
- From: Jason Pruim
- Re: [PHP] Database abstraction?
- From: Chris
- Re: [PHP] Database abstraction?
- From: Jason Pruim
- Re: [PHP] Database abstraction?
- From: Stut
- Database abstraction?
- Prev by Date: Re: [PHP] FROM httpd.conf TO .htaccess
- Next by Date: CAN NOT read qmail
- Previous by thread: Re: [PHP] Database abstraction?
- Next by thread: Re: [PHP] Database abstraction?
- Index(es):
Relevant Pages
|
|