This isn't very hard at all in Drupal. To start with querying multiple DBs, update your settings.php to look something like this:
$db_url['default'] = the default settings for your drupal db $db_url['mydb'] = connection settings for my db (NOTE: the two databases must be of the same type, i.e. MySQL)
then in a custom module, do something like this:
<?php function mymodule_save_my_data($params) { $default_db = db_set_active('mydb'); $query = 'FETCH MY DATA - A SINGLE RECORD'; $result = db_query($query, $params) db_set_active($default_db); $my_data = db_fetch_object($result);
$node = array();
$node = array(); $node['title'] = $my_data->title; $node['type'] = 'NODE TYPE GOES HERE'; $node['name'] = $my_data->author; $node['status'] = 1; $node['promote'] = 0; $node['sticky'] = 0; $log = 'Imported on: ' . date('g:i:s a'); $node['log'] = $log;
$node['CCK FIELD NAME GOES HERE'] = array( 0 => array( 'FIELD ATTRIBUTE' => $my_data->field_id, 'FIELD ATTRIBUTE' => $my_data->field_value, 'FIELD ATTRIBUTE' => '', ), );
if ($node['title']) { $node = (object)$node; $node = node_submit($node); node_save($node);
$nid = $node->nid;
$message = 'Saved as node id '. l('#'. $nid, 'node/'. $nid); drupal_set_message($message); }
// Optionally return the node here to whatever function called us, so they can act on the node as well return $node; } ?>
And you'll have a new node with the data from your other DB, as you've mapped it in your function.
-Mike
On Aug 14, 2008, at 1:18 PM, Errol Sayre wrote:
I'm looking to setup a script to automatically create a monthly report page in drupal from my custom database. I was hoping to use the BlogAPI module to post my data from my application to drupal, but have had little luck in finding a PHP script that can do this for me that still works (most are outdated trying to redeclare XML-RPC functions built-in to php).
Anyone have any experience doing this and could shed some light on the subject? Am I just going to have to write my own XML-RPC calls or is there a pre-built library that can do this via one of the supported APIs (blogger/mt/etc)?
TIA
[ Drupal support list | http://lists.drupal.org/ ]
__________________ Michael Prasuhn mike@mikeyp.net http://mikeyp.net 503.488.5433 714.356.0168 cell 949.200.7670 fax