Список контактов excatonline php не будет отображать всю полную информацию из созданной учетной записи пользователя

Я пытался получить данные "Контакт", но я не могу получить эти теги "AddressLine, City, FaxNumber, MiddelInitial, Note, State, ZipCode"

Когда я посмотрел в ExactOnline, я увидел, что под "Контактом" Voornaam, Tussenvoegsel, Achternaam, Functienaam, Telefoon, Mobiel, E-mail, и это то, что я получаю только на выходе (если он заполнен).

Затем я посмотрел дальше и увидел "Релати", вот те части, которые я хочу, но не могу назвать.

Как я могу это исправить?

 ================================
           Exactonline         
           Connection          
 ================================

try {
        //Code
        for($i = 0; $i <1;) {
        //AddressLine2
        for($o = 0; $o <1;) {
        //BusinessPhone
        for($p = 0; $p <1;) {
        //City 
        for($q = 0; $q <1;) {
        //Country    
        for($w = 0; $w <1;) {
        //Created
        for($e = 0; $e <1;) {
        //Email
        for($r = 0; $r <1;) {
        //BusinessFax
        for($t = 0; $t <1;) {
        //FirstName
        for($y = 0; $y <1;) {
        //LastName
        for($u = 0; $u <1;) {
        //Initials
        for($a = 0; $a <1;) {
        //Mobile
        for($s = 0; $s <1;) {
        //Notes
        for($d = 0; $d <1;) {
        //Phone
        for($f = 0; $f <1;) {
        //State
        for($g = 0; $g <1;) {
        //Postcode
        for($h = 0; $h <1;) {

        $result = array();
        $contact = new \Picqer\Financials\Exact\Contact($connection);
        $result   = $contact->get();
        foreach ($result as $contact) {
        //Code
            ob_start();
            $i++;
            echo $result[]= $contact->Code;
            $filei[$i] = ob_get_contents();
            ob_end_clean();
            //echo $filei[$i]; //(Print available)
         //AddressLine2
            ob_start();
            $o++;
            echo $result[]= $contact->AddressLine2;
            $fileo[$o] = ob_get_contents();
            ob_end_clean();
            //echo $fileo[$o]; //(Print available)
          //BusinessPhone
            ob_start();
            $p++;
            echo $result[]= $contact->BusinessPhone;
            $filep[$p] = ob_get_contents();
            ob_end_clean();
            //echo $fileo[$p]; //(Print available)
          //City 
            ob_start();
            $q++;
            echo $result[]= $contact->City;
            $fileq[$q] = ob_get_contents();
            ob_end_clean();
            //echo $fileq[$q]; //(Print available)
          //Country
            ob_start();
            $w++;
            echo $result[]= $contact->Country;
            $filew[$w] = ob_get_contents();
            ob_end_clean();
            //echo $filea[$a]; //(Print available
         //Created
            ob_start();
            $e++;
            echo $result[]= $contact->Created;
            $filee[$e] = ob_get_contents();
            ob_end_clean();
            //echo $filee[$e]; //(Print available)  
        //Email
            ob_start();
            $r++;
            echo $result[]= $contact->Email;
            $filer[$r] = ob_get_contents();
            ob_end_clean();
            //echo $filer[$r]; //(Print available)
        //BusinessFax
            ob_start();
            $t++;
            echo $result[]= $contact->BusinessFax;
            $filet[$t] = ob_get_contents();
            ob_end_clean();
            //echo $filet[$t]; //(Print available)
       //FirstName
            ob_start();
            $y++;
            echo $result[]= $contact->FirstName;
            $filey[$y] = ob_get_contents();
            ob_end_clean();
            //echo $filey[$y]; //(Print available)
       //LastName
            ob_start();
            $u++;
            echo $result[]= $contact->LastName;
            $fileu[$u] = ob_get_contents();
            ob_end_clean();
            //echo $fileu[$u]; //(Print available)
       //Title
            ob_start();
            $a++;
            echo $result[]= $contact->Title;
            $filea[$a] = ob_get_contents();
            ob_end_clean();
            //echo $filea[$a]; //(Print available)
       //Mobile
            ob_start();
            $s++;
            echo $result[]= $contact->Mobile;
            $files[$s] = ob_get_contents();
            ob_end_clean();
            //echo $files[$s]; //(Print available)
       //Notes
            ob_start();
            $d++;
            echo $result[]= $contact->Notes;
            $filed[$d] = ob_get_contents();
            ob_end_clean();
            //echo $filed[$d]; //(Print available)
      //Phone
            ob_start();
            $f++;
            echo $result[]= $contact->Phone;
            $filef[$f] = ob_get_contents();
            ob_end_clean();
            //echo $filef[$f]; //(Print available)
       //State
            ob_start();
            $g++;
            echo $result[]= $contact->State;
            $fileg[$g] = ob_get_contents();
            ob_end_clean();
            //echo $fileg[$g]; //(Print available)
      //Postcode
            ob_start();
            $h++;
           echo $result[]= $contact->Postcode;
            $fileh[$h] = ob_get_contents();
            ob_end_clean();
            //echo $fileh[$h]; //(Print available)
                    }
                   }
                  }
                 }
                }
               }
              }
             }
            }
           }
          }   
         } 
        }
       } 
      }
     }  
    }
     //Witch contact 1,2,3,4,...
       $k = 1;
      //Code
       echo 'Code   = ' .$filei[1];
      //AddressLine2
      echo 'AddressLine   = ' .$fileo[$k];
      //BusinessPhone
      echo 'BusinessPhone = ' .$filep[$k];
      //City 
      echo 'City = ' .$fileq[$k];
      //Country
      echo 'Country = ' .$filew[$k];
      //Created
      echo 'created =  ' . $filee[$k];
      //Email
      echo 'Email = ' . $filer[$k];
      //BusinessFax
      echo 'BusinessFax  = ' . $filet[$k];
      //FirstName
      echo 'FirstName = ' .$filey[$k];
      //LastName
      echo 'Your last name = ' .$fileu[$k];
      //Initials
      echo 'Title = ' .$filea[$k];
      //Mobile
      echo 'Mobile = ' . $files[$k];
      //Notes
      echo 'Notes = ' .  $filed[$k];
      //Phone
      echo 'Phone = ' .  $filef[$k];
      //State
      echo 'State = ' .  $fileg[$k];
      //Postcode
      echo 'Postcode = ' . $fileh[$k];



        json_encode($result);
    } catch (\Exception $e) {
        json_encode(array(get_class($e) . ' : ' . $e->getMessage()));
    }

   =====================================
                   Autotask              
                 Connection            
    =====================================
    require_once 'C:\xampp\htdocs\Api\Autotask\vendor\autoload.php';
    $username = '++++++++++++++++++++++++++++++++++++++';
    $password = '++++++++++++++++';

    $contact= new ATWS\AutotaskObjects\Contact();
    $contact->id = 0; //0 for new and ID for update
    $contact->AccountID = 236;
    $contact->AlternatePhone = $filep[$k];
    $contact->Country = $filew[$k];
    $contact->CreatDate = $filee[$k];
    $contact->EMailAddress = $filer[$k];
    $contact->FirstName = $filey[$k];
    $contact->LastName = $fileu[$k];
    $contact->MobilePhone = $files[$k];
    $contact->Phone = $filef[$k];
    $contact->Active = '0';

    //$contact->AddressLine = $fileo[$k];+
    //$contact->City = $fileq[$k];+
    //$contact->FaxNumber = $filet[$k];+
    //$contact->MiddleInitial = $filea[$k];+
    //$contact->Note = $filed[$k];+
    //$contact->State = $fileg[$k];+
    //$contact->ZipCode = $fileh[$k];+
    echo "Auotask client created";


    $authWsdl = 'https://webservices.autotask.net/atservices/1.5/atws.wsdl';
    $opts = array('trace' => 1);
    $client = new ATWS\Client($authWsdl, $opts);
    $zoneInfo = $client->getZoneInfo($username);

    $authOpts = array(
        'login' => $username,
        'password' => $password,
        'trace' => 1,   // Allows us to debug by getting the XML requests sent
    );
    $wsdl = str_replace('.asmx', '.wsdl', $zoneInfo->getZoneInfoResult->URL);
    $client = new ATWS\Client($wsdl, $authOpts);

    print_r($client->create($contact));

Это вывод, который я получаю, если я запускаю скрипт php.

Code = 24
    AddressLine = 000000000
    BusinessPhone = 040-44445511
    City = 0000000
    Country = NL 
    created = /Date(1493085780497)/
    Email = test@sportmartbv.nl
    BusinessFax = 000000
    FirstName = Ellis
    Your last name = Renners
    Title = MEVR
    Mobile = 0682121519
    Notes = 000000000
    Phone = 040-444151151
    State = 000000000
    Postcode = 00000000

Я хотел бы получить полную информацию о пользователе в выводе.

Любая помощь будет принята с благодарностью.

1 ответ

Решение

for($i=0;$i<1;){...} эквивалентно $i=0; while($i<1){...} поэтому вы должны убедиться, что в какой-то момент значение $i меняется, и вы выходите из цикла.

В вашем случае, если $result = $contact->get(); возвращает пустой список, вы не войдете в foreach и поэтому вы никогда не достигнете частей с $x++ (заменить x с какой - либо одной символьной переменной, которую вы использовали в своем вложенном for петли).

Вы обычно добавляете $i++ на третьем входе for или вы можете добавить другое условие, например:

$iterations=0; 
for($i=0; $i<1 && $iterations<50; $iterations++)
{
    ...
}

поэтому цикл будет работать до тех пор, пока $i >= 1 или же $iterations >= 50,
Что означает, если вы не измените $iterations 'значение в вашем цикле, он будет работать в 50 раз макс.

Это в том случае, если вы ожидаете, что входные данные изменятся в какой-то момент, но если вы действительно хотите получить только один входной сигнал, вам не следует использовать for цикл вообще, вместо этого просто удалите все эти петли, удалите все $x++; (с x во всех именах переменных с одним символом) и используйте только одну переменную, инициализированную для 0,

Опять же, считается хорошей практикой называть ваши переменные понятным образом.


Примечание. Ничто из вышеперечисленного не является специфичным для php, это алгоритмы, общие для большинства языков программирования.

Другие вопросы по тегам