Я пытался получить данные «Контакт», но я не могу получить эти теги «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 = [email protected]
BusinessFax = 000000
FirstName = Ellis
Your last name = Renners
Title = MEVR
Mobile = 0682121519
Notes = 000000000
Phone = 040-444151151
State = 000000000
Postcode = 00000000
Я хотел бы получить полную информацию о пользователе в выводе.
Любая помощь будет принята с благодарностью.
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++;
(с х во всех ваших один-символ имена переменных) и использовать только одну переменную, инициализированную для 0
,
Опять же, считается хорошей практикой называть ваши переменные понятным образом.
Замечания : Ничто из вышеперечисленного не является специфичным для php, это алгоритмическая схема — общая для большинства языков программирования.
Других решений пока нет …