L'oggetto import permette di importare i dati provenienti da un ds in un'altro. Attualmente è possibile importare dati da una qualsiasi sorgente dati verso un database. Se ad esempio volessimo importare i dati provenienti da un file con campi a lunghezza fissa in una tabella mysql:
00011MARIO ROSSI 10/12/1975
00012CARLO BIANCHI 01/06/1980
...........................................................
Creiamo la tabella che dovrà contenere i dati:
CREATE TABLE `clienti` (
`key` int(11) NOT NULL,
`nome` varchar(20) NOT NULL,
`cognome` varchar(20) NOT NULL,
`data_nascita` date NOT NULL,
PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Da sottolineare due aspetti:
- Il valore assegnato all'attributo method modifica il comportamento durante l'importazione:
[list]
- error: l'inserimento viene bloccato in corrispondenza di un eventuale errore
- bypass: inserisce le righe ignorando eventuali errori di inserimento
- update: prova ad inserire, in corrispondenza di un eventuale errore prova a fare update
L'utilizzo dell'attributo format rende compatibile il formato dei dati provenienti dal datasource sorgente con quello di destinazione
<?php
/**
* PHP Source File
* @author Alyx Association <info@alyx.it>
* @version 1.0
* @copyright Alyx Association 2008-2010
* @license GNU Public License
*/
require_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("record.xml");
$event = new ClsEvent($xml);
$event->managerRequest();
?>
<?xml version="1.0" encoding="utf-8"?>
<jamp>
<page typeobj="page" title="JAMP - Esempio importazione dati da RECORD" icon="../../favicon.ico" loaddata="false">
<ds1 typeobj="ds" conn="conn13" dskey="id" >
<record>
<field recname="id" reclength="5" />
<field recname="nome" reclength="20" />
<field recname="cognome" reclength="20" />
<field recname="data_nascita" reclength="10" />
<field recname="return" reclength="1" />
</record>
</ds1>
<ds2 typeobj="ds" conn="conn6" dstable="clienti" dskey="key" dssavetype="table" />
<import1 typeobj="import" from="ds1" to="ds2" method="error">
<mapping>
<field fieldFrom="id" fieldTo="key" />
<field fieldFrom="nome" fieldTo="nome" format="string|trim" />
<field fieldFrom="cognome" fieldTo="cognome" format="string|trim" />
<field fieldFrom="data_nascita" fieldTo="data_nascita" format="date|IT|dd/mm/yyyy|EN|yyyy-mm-dd" />
</mapping>
</import1>
</page>
</jamp>
›› REFERENCE XML - IMPORT
Oggetto: IMPORT
<nome typeobj="import" attribute="valore".../>
Attributi:
id
Nome univoco dell'oggetto.
debug
Attiva il debug dell'oggetto.
Valori consentiti: true,false
Valori di default: false
from
Datasource da cui importare i dati.
to
Datasource in cui importare i dati.
fieldFrom
Nome del campo da importare.
fieldTo
Nome del campo in cui importare i dati
format
Vedi Formattazione
Style di formattazione.
method
Modalità di importazione dei dati.
error: l'inserimento viene bloccato in corrispondenza di un eventuale errore nell'inserimento.
bypass: prova ad inserire tutte le righe ignorando eventuali errori di inserimento.
update: l'inserimento viene sostituito con un aggiornamento in corrispondenza di un eventuale errore nell'inserimento
Valori consentiti: bypass,update,error
Valori di default: bypass
dsobj
ID dell'oggetto datasource associato.
›› Note fornite dagli utenti