|
![]() | wb_export_to_xml | ![]() | XML přenosy dat | wb_import_from_xml | ![]() |
Funkce provede export dat uvedených v DAD v XML formátu do textového řetězce a tento řetězec je vrácen jako výsledek volání této funkce. V případě analytického DAD je zdroj dat pevně dán popisem v DAD, proto ponechte hodnotu parametru cursor = NULL. V případě syntetického DAD je možno využít popisu v DAD, pak ponechte cursor = NULL, nebo použijte přesměrování na vlastní otevřený kurzor shodné struktury, pak v parametru curs zadejte PHP identifikátor tohoto kurzoru (tj. výsledek volání funkce wb_exec, resp. wb_psql_execute, která otevřela kurzor).
Parametr dad_ref může mít dvě podoby. Je-li ve tvaru jméno_objektu uvozené hvězdičkou (tj. *jméno_objektu), hledá se DAD v otevřené aplikaci jako objekt typu přenos, jinak se definice DAD čte z tohoto parametru.
Vede-li DAD do ODBC zdroje dat (od verze 10), pak spojení na tento ODBC zdroj musí být předem otevřeno pomocí funkce wb_odbc_connect. Vede-li DAD do jiného 602SQL serveru, musí být spojení na tento server předem otevřeno pomocí wb_connect.
Pomocí pole hostvars lze předat popis proměnných klientské PHP aplikace, které mohou být použity v dotazu uvedeném jako zdroj dat v DAD nebo jako proměnné, navázané na určitý element DADu. Pokud proměnné nepoužíváte, buď zcela vynechejte parametr hostvars, nebo jako jeho hodnotu uveďte PHP konstantu NULL. Formát popisu klientských proměnných je uveden na samostatné stránce.
V případě úspěchu vrací string s XML dokumentem, který obsahuje vyexportovaná data, v případě chyby vrací FALSE.
Z 602XML Filleru přidou do skriptu XML data - vytáhnout některá a podle nich sestavit dotaz, který se pošle zpět filleru jako data:
include("db.php"); $xml_data = $GLOBALS["HTTP_RAW_POST_DATA"]; // prijem XML dat metodou POST // 1. přečíst ze zaslaných xml dat určité hodnoty do PHP proměnných. // Použije se vhodně navržený importní DAD (do proměnných) a XMLAPI funkce $hostvars=array( // první proměnná se jmenuje _id_prodejce "_id_prodejce" => array( // je typu Integer "type" => ATT_INT32, // je to OUT proměnná "out" => TRUE, "value" => null ), // druhá proměnná se jmenuje _datum "_datum" => array( // je typu Date "type" => ATT_DATE, // je to OUT proměnná "out" => TRUE, "value" => null ), ); @wb_import_from_XML_buffer($connection, "*prodejce_imp_prom", $xml_data, $hostvars); if($hostvars["_id_prodejce"]["value"]==null){ // proměnna se nenaplnila echo ' Id nebylo zadano.'; // vypsat na std. vystup info pro 602XMLFiller exit; // nema cenu dal pokracovat } if($hostvars["_datum"]["value"]==null){ // proměnna se nenaplnila echo ' Datum nebylo zadano.'; // vypsat na std. vystup info pro 602XMLFiller exit; // nema cenu dal pokracovat } // 2. sestavit dotaz na data, která se mají vrátit do 602XMLFilleru $sqlstmt = 'SELECT * FROM Prodejci, Prodej WHERE Prodejci.id_prodejce=Prodej.id_prodejce AND id_prodejce='.strval($hostvars["_id_prodejce"]["value"]).' AND prodej.datum='.strval(date("d.m.Y",$hostvars["_datum"]["value"])) ; $res = wb_exec($connection,$sqlstmt); if ($res) // v $res je číslo kurzoru { print(wb_export_to_XML_buffer($connection,'*dadexport_prod',$res)); // poslat XML výstup funkce do Filleru close($res); // zavrit kurzor } else { echo 'Chyba pri otevirani dotazu...'; }
Přečíst data z MySQL serveru připojeného pomocí ODBC zdroje dat registrovaného jako MySQL test do řetězcové proměnné. Funkce má stejnou syntaxi, pouze musí být předem otevřeno ODBC spojení použité v definici DAD.
... $odbc_resource=wb_odbc_connect("MySQL test","admin","heslo") or die("MySQL odbc connect failed"); $dad="*Zakaznici_mysql_analytDAD"; $resXML = wb_export_to_XML_buffer($connection,$dad,NULL,NULL) or die("export from MySQL to XML failed"); wb_odbc_disconnect($odbc_resource); ...
![]() | wb_export_to_xml | ![]() | XML přenosy dat | wb_import_from_xml | ![]() |