Home
PHP
Application
Php Manual
Pictures
GuestBook
 
 
  Introduction Dlog Aprint SpTpl 
  Yap Xml2Array

 

 

 
 
 
Ex. index Quick Start Search box
Edit rows Callbacks Events
Advanced Form 
   

Edit row, advance

This example shows how, by the use of callbacks, enable the edit function only on particular rows, how to check the values from the input form.

> <?php
/*
* test1.php
* Module yap testing program 4 (calback function)
* $Header: d:/cvs/classistd/yap/test4.php,v 1.1 2003/11/12 21:20:01 Administrator Exp $
*/


/*
* In this example I allow to modify only the row with id = 6.
* The field id is specified as row key into modify_info array
* The parameter is the value of key field
*/
function Allow($ItemKey)
{
return(
$ItemKey==6);
}
// allow to remove only the item with id=7
function RemoveId7($ItemKey)
{
return(
$ItemKey==7);
}
/*
* Check value callback function.
* The following function is an example how to check the fields
* during form processing
* before write them to the databse.
* If the function return false, the module show the form again
* $InputFields is an array containing all fields from the form
* $FieldName: name of the field to check
* You may set the function to check many fileds. The function is
* called many times as the numeber the fields to check.
* In this example I set to call the following function only to
* check the field 'errno', so when the function is called
* $FieldName is = 'errno'.
*/
function CheckField($InputFields,$FieldName)
{
$ret=($InputFields[$FieldName]==0)?true:false;
return(
$ret);
}

function
CheckText($InputFields,$FieldName)
{
return(
true);
}

/*
* Function called for each row while the module shows the table. It is usefull
* to add custom link to the table
* $RowData is an array containing all data about the current row
* To return to the current page call this script (test4.php) without any parameter
* The module saves its information into session.
*/
function CustomLink($RowData)
{
echo
"<TD><a href='dummypage1.php'>CustomLink1</a></TD>";
echo
"<TD><a href='dummypage2.php'>CustomLink2</a></TD>";
}

include_once(
'CYapBox.php');
include_once(
'CYap.php');
session_start('test');
echo
'<html><body>';
$SelectQuery='select id, DEvent, errno, text, filename, line from dlog where ';
$SelectCount='select count(*) from dlog where ';
//Parameters setup
//Db Connection
$db_info=array('servername'     => 'localhost',
               
'dbname'         => 'log',
               
'user'           => 'root',
               
'password'       => '',
               
'selectquery'    => $SelectQuery,
               
'selectcount'    => $SelectCount,
               
'orderfield'     => 'id',
               
'orderdirection' => 'A',
               
'NeedOpenDb'     => false
               
);
// Field to use to perform sesrchs
$Search_field=array(array('description' => 'Event Date',
                          
'fieldname'   => 'DEvent',
                          
'type'        => 'A',
                          
'size'        => 14,
                          
'useregex'   => 1 ),
                    array(
'description' => 'Error Code',
                          
'fieldname'   => 'errno',
                          
'type'        => 'N'),
                    );
// Fields to shows inside the table
$Show_field=array(array('fieldname' => 'id',
                        
'header'    => 'Id'),
                  array(
'fieldname' => 'DEvent',
                        
'header'    => 'Event Date'),
                  array(
'fieldname' => 'errno',
                        
'header'    => 'Error Code'),
                  array(
'fieldname' => 'text',
                        
'header'    => 'Description'),
                  );
// I don't setup the detail mode, the add/modify/delete row functions
$Show_info=array('prefix' => 'tst4',
                 
'showdethref' => true,
                 
'rowcallback' => 'CustomLink',
                 );
$Modify_info=array(
                 
'table' => 'dlog',
                 
'keyfield' => 'id',
                 
'showdelete' => true,
                 
'showmodify' => true,
                 
'showadd' => true,
                  
// callback function to allow the
                  // modify function
                 
'modifyallow' => 'Allow',    
                  
// callback function to allow the
                  // delete function
                 
'deleteallow' => 'RemoveId7',
                 
// set the callback function to check the contents
                 // of errno and text
                 
'fieldvalidator' => array(
                                          
'errno' => 'CheckField',
                                          
'text' =>  'CheckText'
                                          
),
                  );


$p=new CYap($Search_field, $Show_field, $db_info, $Show_info, $Modify_info);
$p->showpage();
echo
'</body></html>';
?>
 

Copyright © 2003-2009 Darvin Andrioli, last change 18/11/2003