PHP петли редактирования, но как определить каждую запись для редактирования в цикле? - PullRequest
1 голос
/ 23 мая 2011

У меня есть страница php, которая тянет заказ, содержащий портал заказанных товаров. Каждый заказанный элемент зацикливается и отправляется через XML для удаления из Metasite. В цикле Metasite возвращает ответ, который я хочу добавить к состоянию элемента в базе данных. Вот где я застреваю -

Я не знаю, как получить код для идентификации записи элемента для добавления / редактирования в цикле.

Это код на данный момент -

<?php 
require_once('Connections/invoices.php');
require_once('MetaSiteBooks/post_xml.php');

$ids_find = clone($invoices);
$ids_find->layout = 'orders';
$ids_findCriterions = array('orderID'=>$_REQUEST['orderid'],);
foreach($ids_findCriterions as $key=>$value) {
    $ids_find->AddDBParam($key,$value);
}

fmsSetPage($ids_find,'ids',35); 
$ids_result = $ids_find->FMFind(); 

if( is_a($ids_result,'FX_Error') || $ids_result['errorCode'] != "0")   
    fmsTrapError($ids_result,"error.php"); 

fmsSetLastPage($ids_result,'ids',35); 
$ids_row = current($ids_result['data']);
$ids_row_key = key($ids_result['data']);
$ids_orderlineitem_portal_row = 0;
$ids_orderpaypalvars_portal_row = 0;

ОК, так что это идентифицирует запись, содержащую список заказанных товаров.

Далее начинается цикл -

$ids_orderlineitem_portal_rownum = 1;
foreach($ids_row['order_line_item::bookID'] as     
           $ids_orderlineitem_portal_row=>$ids_orderlineitem_portal)
{
    $xml =
    '<?xml version="1.0" encoding="ISO-8859-1"?>
     <inventoryUpdateRequest version="1.0">
     <action name="bookupdate">
     </action>
     <transactionType>delete</transactionType>
     <vendorBookID>' . $ids_row['order_line_item::bookID']
                  [$ids_orderlineitem_portal_row].'</vendorBookID>
    </inventoryUpdateRequest>';
    $url ='https://inventoryupdate.metasite.com';
    $port = 80;
    $response = xml_post($xml, $url, $port);    
    $data = simplexml_load_string($response);
    $code = (string) $data->Metasite>code;

XML отправлено и получено ответ. Я хочу добавить код ответа к записи моего элемента далее -

    $inventory_status_edit = clone($invoices);
    $inventory_status_edit->layout = 'order_line_item';
    $inventory_status_edit->AddDBParam('-recid',
                $ids_row['order_line_item::bookID'][$ids_orderlineitem_portal_row]);

Вот где я застрял, DBParam не прав. В любом случае, вот остаток кода -

    $inventory_status_fields =  
              array('Metasite_status'=>'$code',
                    'inventory_status'=>'dltd',);

    foreach ( $inventory_status_fields as $key=>$value) {
             $inventory_status_edit->AddDBParam($key,$value);
            }

$inventory_status_result = $inventory_status_edit->FMEdit(); 

    if(is_a($inventory_status_result,"FX_Error") || 
            $inventory_status_result['errorCode'] != "0") 
         fmsTrapError($inventory_status_result,"error1.php"); 

$inventory_status_row = current($inventory_status_result['data']);
$inventory_status_row_key = key($inventory_status_result['data']); 

    if($ids_orderlineitem_portal_rownum == 0) 
         break; 
    else 
        $ids_orderlineitem_portal_rownum++;
}//portal_end
?>

Заранее спасибо за любую помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...