Jump to content

display api get data into table form


Recommended Posts

Hi.. I have been working on this for 4 days now and still not able to find a right solution.
i have the get client data using api to display it in other platform but it displays in array form. Since i am new to coding,
I need it to display in table form . How am i able to do it ?
please help me

here the code applied:

// API Connection Details
$whmcsUrl = "https://domain.com/";

// For WHMCS 7.2 and later, we recommend using an API Authentication Credential pair.
// Learn more at http://docs.whmcs.com/API_Authentication_Credentials
// Prior to WHMCS 7.2, an admin username and md5 hash of the admin password may be used.
$username = "xxxxxxxxxxxxxxxxxxxxxxx";
$password = "yyyyyyyyyyyyyyyyyyyyyyyyy";

// Set post values
$postfields = array(
    'username' => $username,
    'password' => $password,
    'action' => 'GetClients',
    'responsetype' => 'json',
);

// Call the API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $whmcsUrl . 'includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postfields));
$response = curl_exec($ch);
if (curl_error($ch)) {
    die('Unable to connect: ' . curl_errno($ch) . ' - ' . curl_error($ch));
}
curl_close($ch);

// Decode response
$jsonData = json_decode($response, true);

// Dump array structure for inspection
var_dump($jsonData);?>

 

Here is the result: 
image.thumb.png.2e8964ea4f53b556f5ea8ce1a993ae20.png

 

Please help me solve this..Thank you

Link to comment
Share on other sites

<?

// API Connection Details
$whmcsUrl = "https://domain.com/";

// For WHMCS 7.2 and later, we recommend using an API Authentication Credential pair.
// Learn more at http://docs.whmcs.com/API_Authentication_Credentials
// Prior to WHMCS 7.2, an admin username and md5 hash of the admin password may be used.
$username = "xxxxxxxxxxxxxxxxxxxxxxx";
$password = "yyyyyyyyyyyyyyyyyyyyyyyyy";

// Set post values
$postfields = array(
    'username' => $username,
    'password' => $password,
    'action' => 'GetClients',
    'responsetype' => 'json',
);

// Call the API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $whmcsUrl . 'includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postfields));
$response = curl_exec($ch);
if (curl_error($ch)) {
    die('Unable to connect: ' . curl_errno($ch) . ' - ' . curl_error($ch));
}
curl_close($ch);

// Decode response
$jsonData = json_decode($response, true);

// EDITED BELOW THIS LINE

$table .= <<<HTML
Showing <strong>{$jsonData['numreturned']}</strong> of <strong>{$jsonData['totalresults']}</strong> clients<hr>
<table>
	<tr>
		<th>Client Name</th>
		<th>Email</th>
		<th>Status</th>
	</tr>
HTML;

foreach ($jsonData['clients']['client'] as $v)
{
	$table .= <<<HTML
	<tr>
		<td>{$v['firstname']} {$v['firstname']} {$v['companyname']}</td>
		<td>{$v['email']}</td>
		<td>{$v['status']}</td>
	</tr>
HTML;
}
	
$table .= <<<HTML
</table>
HTML;

echo $table;

This will produce the following:

1833518820_Screenshot2019-05-0901_53_16.png.8a8df9506ebe1e013a20b163833a9023.png

Anyway this is not how you should that. I gave you just an example.

 

Link to comment
Share on other sites

55 minutes ago, Kian said:

<?

// API Connection Details
$whmcsUrl = "https://domain.com/";

// For WHMCS 7.2 and later, we recommend using an API Authentication Credential pair.
// Learn more at http://docs.whmcs.com/API_Authentication_Credentials
// Prior to WHMCS 7.2, an admin username and md5 hash of the admin password may be used.
$username = "xxxxxxxxxxxxxxxxxxxxxxx";
$password = "yyyyyyyyyyyyyyyyyyyyyyyyy";

// Set post values
$postfields = array(
    'username' => $username,
    'password' => $password,
    'action' => 'GetClients',
    'responsetype' => 'json',
);

// Call the API
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $whmcsUrl . 'includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postfields));
$response = curl_exec($ch);
if (curl_error($ch)) {
    die('Unable to connect: ' . curl_errno($ch) . ' - ' . curl_error($ch));
}
curl_close($ch);

// Decode response
$jsonData = json_decode($response, true);

// EDITED BELOW THIS LINE

$table .= <<<HTML
Showing <strong>{$jsonData['numreturned']}</strong> of <strong>{$jsonData['totalresults']}</strong> clients<hr>
<table>
	<tr>
		<th>Client Name</th>
		<th>Email</th>
		<th>Status</th>
	</tr>
HTML;

foreach ($jsonData['clients']['client'] as $v)
{
	$table .= <<<HTML
	<tr>
		<td>{$v['firstname']} {$v['firstname']} {$v['companyname']}</td>
		<td>{$v['email']}</td>
		<td>{$v['status']}</td>
	</tr>
HTML;
}
	
$table .= <<<HTML
</table>
HTML;

echo $table;

This will produce the following:

1833518820_Screenshot2019-05-0901_53_16.png.8a8df9506ebe1e013a20b163833a9023.png

Anyway this is not how you should that. I gave you just an example.

 

heyy..thank you so much ..this works wonder..

but why there is an error/notices prompted at the top of the table?
how do i assign the table variable?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated