custom action

A place for users and developers of the Xataface to discuss and receive support.

custom action

Postby wisni1rr » Thu Mar 22, 2012 12:15 pm

I have the following to make a printable report. I need to modify it so it will only pull the current record (This action is pulling the entire query rather than the record in details view [this report link is only viewable on the current record details screen])
Code: Select all
<?php
class actions_printable_report {
    function handle(&$params){
        $app =& Dataface_Application::getInstance();
        $query =& $app->getQuery();
       
        if ( $query['-table'] != 'GENERAL' ){
            return PEAR::raiseError('This action can only be called on the Listing table.');
        }
       
        $GENERAL = df_get_records_array('GENERAL', $query);
           echo '<html><head>'
            .'<title>BWA Report v1.0</title>'
            .'<style type="text/css">'
            .'    th { font-size: 60%;}'
            .'    td { font-size: 60%;}'
            .'    img { width:300px;
                        height:145px;
                        border-style:ridge}'
            .'    img.logo { width:75%;
                             height:100%;
                             border:none }'
            .'</style>'
            .'</head>'
            .'<body>';
             
           


Thanks for taking the time to read my post!
wisni1rr
 
Posts: 107
Joined: Mon Feb 13, 2012 9:03 pm

Re: custom action

Postby shannah » Thu Mar 22, 2012 2:14 pm

Change
Code: Select all
$GENERAL = df_get_records_array('GENERAL', $query);

to
Code: Select all
$GENERAL = df_get_record('GENERAL', $query);


-Steve
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm

Re: custom action

Postby wisni1rr » Fri Mar 23, 2012 10:41 am

Thanks, Steve!

I have changed the code as you have instructed.

Now the very next line in the code throws an error:

Code: Select all
   foreach ($GENERAL as $record){
                   $Address = $record->htmlValue('StreetNo').' '.$record->htmlValue('StreetName').' '.$record->htmlValue('City').', '.$record->htmlValue('State').' '.$record->htmlValue('Zip');

Fatal error: Call to a member function htmlValue() on a non-object (points to line with $Address = ...)

The code works just fine when I call the records_array, It just cycles through all that are in the list view.

Thanks for your help!
wisni1rr
 
Posts: 107
Joined: Mon Feb 13, 2012 9:03 pm

Re: custom action

Postby shannah » Fri Mar 23, 2012 12:33 pm

Yes. df_get_record() returns a Dataface_Record object directly - not an array of records. You don't need to loop through them anymore with a foreach loop.
shannah
 
Posts: 4457
Joined: Wed Dec 31, 1969 5:00 pm


Return to Xataface Users

Who is online

Users browsing this forum: No registered users and 7 guests

cron
Powered by Dataface
© 2005-2007 Steve Hannah All rights reserved