hackdaddy has asked for the wisdom of the Perl Monks concerning the following question:

DBIx::HTMLTable is a good start, but since I have started using CGI::Ajax I need to create nifty HTML tables on the fly and return them to the browser using CGI::Ajax.

The module doesn't create the table header or do slick stuff like letting me set the class on alternating rows to make a nice ledger-looking table.

DBIx::HTMLTable would be the perfect drug if it was very convenient to use. I'm considering writing my own version of this module and putting it up on CPAN.

The great thing about DBIx::HTMLTable is that it will let you abstract your database layer from the CGI::Ajax web interface. All you need to do is create a concise SQL query and then return a crisply-styled table to your web page. I was able to return thousands of rows.

Your thoughts positive or negative?

Thanks.

jdporter unconsidered. Considered by tphyahoo: "add mod:// markup for modules mentioned?" Final count: 8 keep, 11 edit.

  • Comment on DBIx::HTMLTable Is Not My Drug of Choice

Replies are listed 'Best First'.
Re: DBIx::HTMLTable Is Not My Drug of Choice
by tphyahoo (Vicar) on Dec 16, 2005 at 09:10 UTC
    ... considering writing my own version... Possible to enhance the existing one instead?
Re: DBIx::HTMLTable Is Not My Drug of Choice
by jeffa (Bishop) on Dec 16, 2005 at 15:14 UTC

    Have you seen my DBIx::XHTML_Table? I haven't updated it in a long while, but it still works. Check out the cookbook if you want to give it a look before installing.

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)
    
Re: DBIx::HTMLTable Is Not My Drug of Choice
by matija (Priest) on Dec 16, 2005 at 15:47 UTC

    If I may ba a curmudgeon for a while and point out some things about DBIx::HTMLTable

    • It takes it's data in an array of arrays. Nothing wrong with that, but it's not really specific to DBI, so why is it in DBIx?
    • Considering that it takes it's DBIx, I'd like to see a mode where it takes a statement handle and does it's own fetches - thereby reducing memory consumption.
    • I see your point about the attributes. The documentation describes the attributes the function supposedly takes, but does not give any incling on how to describe which attribute goes where (like what to do if you want alternating rows in different colors, or different onclick handlers on different cells). Note that that could simply be a deficiency in the documentation - possibly the author considers his methods obvious.

    Personaly, I'd contact the author to ask him how to do the alternating rows trick. Then if he doesn't have an answer, or if he doesn't answer, or if you don't like his answer, you can extend DBIx::HTMLTable with your own code. Perhaps with something where you can declare per-column and per-row callbacks that return a list of attributes, or something like that.

    Oh, and an auto-fetch mode. That would probably be the first thing I'd add if I were messing with this module.

    Having said that, thanks for mentioning CGI::AJAX. I haven't heard of it before, and now that I have I'm itching to try it in some project...