vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Passing array to a template to format as a table (https://vborg.vbsupport.ru/showthread.php?t=321979)

twistsol 03-02-2016 05:27 PM

Passing array to a template to format as a table
 
I'm a newbie to HTML, CSS, PHP and relatively new to vBulletin, admin for less than a year, and I literally wrote my first php code yesterday. Old COBOL guys can still learn new things. :up:

Last night I created a script that gathered some data from the database and formatted it as an HTML table in the PHP script and passed that variable with text to a page and template I created by following tutorials I found here. The output on the page was fine but I'm questioning the technique.

I think it would make more sense to pass a variable as a two dimensional array to the template and have the template code display it broken out into a table to display on the page from that point.

Is this possible? If so can someone provide some hints as to what I'd need.

If it matters,
vb 4.2.3
PHP 5.4.45
Apache 2.4.16
OSX 10.11.3

Thanks much for any assistance.

Chris

MarkFL 03-02-2016 05:46 PM

Hello and welcome to vBorg, Chris! :)

While I haven't personally used this feature, I think what you're after is like what you find in the "FORUMDISPLAY" template:

HTML Code:

<ol class="commalist">
        <vb:each from="activeusers" value="row">
                <li><a class="username" href="{vb:link member, {vb:raw row}}">{vb:raw row.musername}</a>{vb:raw row.invisiblemark}{vb:raw row.buddymark}{vb:raw row.comma}</li>
        </vb:each>
</ol>

It appears the array $activeusers is passed to the template, and then the tag:

<vb:each from="activeusers" value="row">

iterates for each row in the array, and gives the name "row" to the rows during the iterations. So, I'm thinking you would do something like:

HTML Code:

<table>
        <vb:each from="myarray" value="row">
                <tr>
                        <td>{vb:raw row.column1}</td>
                        <td>{vb:raw row.column2}</td>
                        <td>{vb:raw row.column3}</td>
                        ⁞
                        <td>{vb:raw row.columnn}</td>
                </tr>
        </vb:each>
</table>


Dave 03-02-2016 06:18 PM

<a href="https://www.vbulletin.com/docs/html/main/styleref_templates_syntax" target="_blank">https://www.vbulletin.com/docs/html/...mplates_syntax</a> also contains some useful info regarding the syntax in templates.

twistsol 03-02-2016 06:28 PM

Thanks Mark, I think that's exactly what I was after. I'll need to look at it tonight when I'm not doing my day job.

Thanks also Dave. Clearly I need to spend more time reading about all of this stuff but time, as they say, is a commodity in short supply.

Chris

--------------- Added [DATE]1456975358[/DATE] at [TIME]1456975358[/TIME] ---------------

It worked perfectly.


All times are GMT. The time now is 07:47 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01004 seconds
  • Memory Usage 1,722KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_html_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete