blank.gif
triangle.gif Du er her: /  Forsiden  /  Kildekoden  /  Db  /  Command   Login nu   Login
blank.gif
 ««« Se kilde koden
blank.gif
triangle.gif Basic Base Component Db  Dto Form Form-elements Jquery Layout Menu Menu-fisheye Mvc Tab Table Template Util
blank.gif
blank.gif
 
arrow-headline.gif Index
 
  Tilbage

Navn : Command.php


Sample code, tutorial

Sådan benyttes komponenten Command klassen

Først skal du inkludere den fil der beskriver komponenten, som en klasse fil

  • <?
    require_once(HTML_PACKAGE_PATH.'/Command.php');
    ?>

Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):

  • <?
    Command
    ::display($param1, $param2, $param3, ...);
    ?>

eller du kan lave en instance af komponenten og benytte metoderne direkte:

  • <?
    $object
    = new Command($param1, $param2, $param3, ...);
    print
    $object->getHtml();
    ?>

Parent html

Sådan vises komponenten Command klassen

Der er ikke fundet noget

PHP source code

Den fulde PHP kildekode for Command klassen

<?
/**
* @package db
* @see HTML_DB_DATABASE_PATH.'/Command.php'
* @copyright (c) http://Finn-Rasmussen.com
* @license http://Finn-Rasmussen.com/license/ myPHP License conditions
* @author http://Finn-Rasmussen.com
* @version 1.10
* @since 22-feb-2007
*/

/**
* The required files
*/
require_once(HTML_DB_DATABASE_PATH.'/Database.php');
require_once(
HTML_DTO_UTIL_PATH.'/DataReader.php');
require_once(
HTML_BASIC_UTIL_PATH.'/Message.php');
if (
defined('HTML_LOG_UTIL_PATH')) {
    require_once(
HTML_LOG_UTIL_PATH.'/Log.php');
}

/**
* The Command towards the mysql database
* The resultset is returned via the new DataReader object
* <code>
* Usage:
*   $database   = new Database(); // or DB2Database() if DB2
*   $sql = 'SELECT * FROM basket WHERE ID=1';
*   $command    = new Command();
*   $datareader = $command->newDataReader($sql, $database);
* Or
*   $datareader = Command::newDataReader($sql, $database);
*
* And print any data out
*   print $datareader->getNumRows();;
* </code>
* @package db
*/

class Command {
    
/**
     * Constructor
     */
    
function Command() {
    }

    
/**
     * Creates a new DataReader object.
     * Open a connection to the database and perform the query.
     * If any data is found, the DataReader object is populated.
     * return the DataReader object
     * Note: FieldFlags, No support in DB2, use db2_foreign_keys and db2_primary_keys() etc.               
     * <code>
     * Usage:
     *   $database   = new Database(); // or DB2Database() if DB2
     *   $command    = new Command();
     *   $datareader = $command->newDataReader($sql, $database);
     * Or
     *   $datareader = Command::newDataReader($sql, $database);
     *
     * And print any data out
     *   print $datareader->getNumRows();;
     * </code>
     * @param  String   $sql      The sql to use
     * @param  Database $database The database object to use
     * @return DataReader The Data Reader object
     */
    
function newDataReader($sql, $database='') {
        
$datareader = new DataReader();
        
$db = $database;
        if (
$db == '') {
            
$db = new Database();
        }
        if (
is_a($db,CLASS_NAME_DATABASE) || is_a($db, CLASS_NAME_DB2_DATABASE)) {
            
// Ok, Sanity check
        
} else {
            
$msg  = "Command->newDataReader() not a valid database, expected: Database() or DB2Database(), found <br />\r\ndatabase=$database";
            if (
defined('HTML_LOG_UTIL_PATH')) {
                
Log::fatal(__FILE__,__LINE__,$msg);
            }
            die(
'File: '.__FILE__."<br />\r\nLine: ".__LINE__."<br />\r\n".$msg);
        }
        
$db->open();
        
$rc = $db->query($sql);
        if (
$rc) {
            
$datareader->setRc($rc);
            
$datareader->setNumRows($db->getNumRows());
            
$numFields = $db->getNumFields();
            
$datareader->setNumFields($numFields);
            for (
$i=0; $i<$numFields; $i++) {
                
$name = $db->getFieldName($i);
                
$datareader->addFieldName ($name,$db->getFieldName($i));
                
$datareader->addFieldLen  ($name,$db->getFieldLen($i));
                
$datareader->addFieldType ($name,$db->getFieldType($i));
                
$datareader->addFieldFlags($name,$db->getFieldFlags($i));
                
$datareader->addFieldTable($name,$db->getFieldTable($i));
            }
            
$no = 0;
            while (
$row = $db->fetchAssoc()) {
                
$datareader->add($no++,$row);
            }
        } else {
            
$msg  = "Command->newDataReader() nothing returned from query<br />\r\nsql=$sql<br />\r\n";
            if (
defined('HTML_LOG_UTIL_PATH')) {
                
Log::error(__FILE__,__LINE__,$msg);
            } else {
                
// do nothing
            
}
            if (
defined('DEBUG_LEVEL') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_SQL) {
                
Message::add($msg,__FILE__,__LINE__);
            }
            
$datareader->setMsg($msg);
        }
        
$db->freeResult();
        
$db->close();
        return
$datareader;
    }
}
?>

HTML source code

Den fulde HTML kildekode for Command klassen

Der er ikke fundet noget

Class methods

Her er 'klasse metoderne' for Command klassen:

  • command
  • newdatareader

Object vars

Her er 'objekt variable' for Command klassen:


 
triangle.gif

danmark

Germany

England

France

Italy

Norge

Sverige

USA


 
blank.gif