| | |
Print 5 records per table row (see script)
![]() |
•
•
Join Date: Apr 2005
Posts: 3
Reputation:
Solved Threads: 0
Hello Everyone! how are you? fine i hope.
How can i print just 5 records per Table row and the next 5 records on the next table row? Much thanks in advance!
------------------------------------------------------------------------
#!/perl/bin/perl
print "Content-type:text/html\n\n";
open(INF,"data.txt") or dienice("Can't open data.txt: $! \n");
@grok = <INF>;
close(INF);
print <<EndHdr;
<html><head><title>My Data</title></head>
<body>
<center>
<h2 align="CENTER">My Data</h2>
<table border="1">
<tr>
EndHdr
foreach $i (@grok) {
chomp($i);
($Item,$Page,$Desc,$Pack,$Price) = split(/\|/,$i);
if ($Item eq "") {
print "<td>$Item</td>"<td>$Page</td>"<td>$Desc</td>"<td>$Pack</td>"<td>$Price</td>\n";
}
}
print <<EndFoot;
</tr>
</table>
</center>
</body>
</html>
EndFoot
sub dienice {
my($msg) = @_;
print "<h2>Error</h2>\n";
print $msg;
exit;
}
How can i print just 5 records per Table row and the next 5 records on the next table row? Much thanks in advance!
------------------------------------------------------------------------
#!/perl/bin/perl
print "Content-type:text/html\n\n";
open(INF,"data.txt") or dienice("Can't open data.txt: $! \n");
@grok = <INF>;
close(INF);
print <<EndHdr;
<html><head><title>My Data</title></head>
<body>
<center>
<h2 align="CENTER">My Data</h2>
<table border="1">
<tr>
EndHdr
foreach $i (@grok) {
chomp($i);
($Item,$Page,$Desc,$Pack,$Price) = split(/\|/,$i);
if ($Item eq "") {
print "<td>$Item</td>"<td>$Page</td>"<td>$Desc</td>"<td>$Pack</td>"<td>$Price</td>\n";
}
}
print <<EndFoot;
</tr>
</table>
</center>
</body>
</html>
EndFoot
sub dienice {
my($msg) = @_;
print "<h2>Error</h2>\n";
print $msg;
exit;
}
I could be wrong, but it seems to me that line:
is not correct. You are saying "if $item variable is empty, then print this to the web page". Maybe you planned for $item to be empty, and if so, then to print the stuff to the page, but I'm guessing that's partly why it's not working. If I am wrong, please let me know. Also, That would not print 5 records, per row, it would print 1 record with 5 fields, per row. I'm figuring that is what you want. The code should probably look like this:
Perl Syntax (Toggle Plain Text)
if ($Item eq "") { print "<td>$Item</td>"<td>$Page</td>"<td>$Desc</td>"<td>$Pack</td>"<td>$Price</td>\n"; }
is not correct. You are saying "if $item variable is empty, then print this to the web page". Maybe you planned for $item to be empty, and if so, then to print the stuff to the page, but I'm guessing that's partly why it's not working. If I am wrong, please let me know. Also, That would not print 5 records, per row, it would print 1 record with 5 fields, per row. I'm figuring that is what you want. The code should probably look like this:
Perl Syntax (Toggle Plain Text)
#!/perl/bin/perl print "Content-type:text/html\n\n"; open(INF,"data.txt") or dienice("Can't open data.txt: $! \n"); @grok = <INF>; close(INF); print <<EndHdr; <html><head><title>My Data</title></head> <body> <center> <h2 align="CENTER">My Data</h2> <table border="1"> <tr> EndHdr foreach $i (@grok) { chomp($i); ($Item,$Page,$Desc,$Pack,$Price) = split(/\|/,$i); # /* Changed The Line Below */ if ($Item ne "") { print "<TR><td>$Item</td>"<td>$Page</td>"<td>$Desc</td>"<td>$Pack</td>"<td>$Price</td></TR>\n"; } } print <<EndFoot; </tr> </table> </center> </body> </html> EndFoot sub dienice { my($msg) = @_; print "<h2>Error</h2>\n"; print $msg; exit; }
Ok, I just wanted to make sure that you REALLY wanted 5 records per row, because you already have 1 record, with 5 fields in a row.... I'll work on this problem though and let you know what I come up with. You know how that will like right?
If you have no problems with attaching the file that you are reading this info from, I will gladly help you to set this code in motion.
Perl Syntax (Toggle Plain Text)
Item1 Page1 Desc1 Pack1 Price1 Item2 Page2 Desc2 Pack2 Price2 Item3 Page3 Desc3 Pack3 Price3 ...
If you have no problems with attaching the file that you are reading this info from, I will gladly help you to set this code in motion.
Alright, it's not "pretty" by way of displaying it to the page, but it does exactly what you want it to do:
Perl Syntax (Toggle Plain Text)
#!/usr/bin/perl print "Content-type:text/html\n\n"; open(INF,"data.txt") or dienice("Can't open data.txt: $! \n"); @grok = <INF>; close(INF); print <<EndHdr; <html><head><title>My Data</title></head> <body> <center> <h2 align="CENTER">My Data</h2> <table border="1"> <tr> EndHdr $cnt = 1; foreach $i (@grok) { chomp($i); ($Item,$Page,$Desc,$Pack,$Price) = split(/\|/,$i); if ($cnt == 5) { print "<td>$Item</td><td>$Page</td><td>$Desc</td><td>$Pack</td><td>$Price</td>\n"; print "</TR><TR>\n"; $cnt = 1; } else { if ($Item ne "") { print "<td>$Item</td><td>$Page</td><td>$Desc</td><td>$Pack</td><td>$Price</td>\n"; $cnt++; } } } print <<EndFoot; </tr> </table> </center> </body> </html> EndFoot sub dienice { my($msg) = @_; print "<h2>Error</h2>\n"; print $msg; exit; }
![]() |
Similar Threads
- Matching records from a query to a table records (MS Access and FileMaker Pro)
- Matching records from a query to a table records (Windows Software)
- Loop through query to find value (ColdFusion)
- pagination and search (PHP)
- Table of Contents Script (Java)
Other Threads in the Perl Forum
- Previous Thread: Matching negative numbers
- Next Thread: Need to create parse tree
| Thread Tools | Search this Thread |






