2014-12-02 4 views
1

Нужна помощь Есть 5 серверовСоздать таблицу из массива

$server1 = “1234”; 
$server2 = “”; 
$server3 = “5463”; 
$server4 = “”; 
$server5 = “1827”; 


$server = array($server1, $server2, $server3, $server4, $server5); 

Тогда завиток инициализируется

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_URL, "https://api.domain.com/$server1"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch); 

$json = json_decode($result, true); 
$ip = $json[droplet][networks][v4][0][ip_address]; 
$status = $json[droplet][status]; 
$currentapp = $json[droplet][image][name]; 
$hostname = $json[droplet][name]; 
$memory = $json[droplet][memory]; 
$cpu = $json[droplet][vcpus]; 
$disk = $json[droplet][disk]; 

И тогда результат вторит в таблицу следующим образом:

<tr>      
<td style="text-align:center"><?php echo $ip; ?></td> 
<td style="text-align:center"><?php echo $status; ?></td> 
<td style="text-align:center"><?php echo $currentapp; ?></td> 
<td style="text-align:center"><?php echo $hostname; ?></td> 
<td style="text-align:center"><?php echo $memory; ?></td> 
<td style="text-align:center"><?php echo $cpu; ?></td> 
<td style="text-align:center"><?php echo $disk; ?></td> 
</tr> 

Теперь, пожалуйста, помогите мне здесь Как мне отображать данные разных серверов в разных строках. И если сервер 2 и 4 пустые, тогда только сервер 1 3 и 5 должен отображаться в 3 строках.

+0

опубликовать вашу попытку. – RxV

ответ

0

Одним из способов ее достижения является рассмотрение серверов как массив?. Затем пользователь foreach для itereate.

$serverArray = array(); 
$serverArray[] = '1234'; 
$serverArray[] = ''; 
$serverArray[] = '5463'; 
$serverArray[] = ''; 
$serverArray[] = '1827'; 

foreach($serverArray as $serverValue) 
{ 
    if($serverValue <> '') 
    { 
     $serverURL = 'https://api.domain.com/' .$serverValue; 

     // cURL code here 

     // Your table display code here 
    } 
} 
0

Сначала поместите все значения сервера в массив. Как это:

$server1 = “1234”; 
$server2 = “”; 
$server3 = “5463”; 
$server4 = “”; 
$server5 = “1827”; 

$serverArray = array(
    $server1, 
    $server2, 
    $server3, 
    $server4, 
    $server5, 
); 


$infoArray = NULL; // To store all the information 
$counter = 0; 
foreach($serverArray as $server){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
    curl_setopt($ch, CURLOPT_URL, "https://api.domain.com/$server1"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    $result = curl_exec($ch); 

    $json = json_decode($result, true); 
    $ip = $json[droplet][networks][v4][0][ip_address]; 
    $status = $json[droplet][status]; 
    $currentapp = $json[droplet][image][name]; 
    $hostname = $json[droplet][name]; 
    $memory = $json[droplet][memory]; 
    $cpu = $json[droplet][vcpus]; 
    $disk = $json[droplet][disk]; 

    $infoArray[$counter]['ip'] = $ip; 
    $infoArray[$counter]['status'] = $status; 
    $infoArray[$counter]['currentapp'] = $currentapp; 
    $infoArray[$counter]['hostname'] = $hostname; 
    $infoArray[$counter]['memory'] = $memory; 
    $infoArray[$counter]['cpu'] = $cpu; 
    $infoArray[$counter]['disk'] = $disk; 
    $counter++; 
} 

Для файла вида

<?php 
    $output = ''; 
    foreach($infoArray as $info){ 
    $output += "<tr>"; 
    $output += "<td style='text-align:center'>{$info['ip']}</td>"; 
    $output += "<td style='text-align:center'>{$info['status']}</td>"; 
    $output += "<td style='text-align:center'>{$info['currentapp']}</td>"; 
    $output += "<td style='text-align:center'>{$info['hostname']}</td>"; 
    $output += "<td style='text-align:center'>{$info['memory']}</td>"; 
    $output += "<td style='text-align:center'>{$info['cpu']}</td>"; 
    $output += "<td style='text-align:center'>{$info['disk']}</td>"; 
    $output += "</tr>"; 
    } 
    echo $output; 

>

+0

результаты выглядят как «0» даже после смены curl_setopt ($ ch, CURLOPT_URL, «https://api.domain.com/$server1»); - curl_setopt ($ ch, CURLOPT_URL, "https://api.domain.com/$server"); – Rishav

0

Finanlly это работает

<html> 

<?php 

$serverArray = array(); 
$serverArray[] = '2720973'; 
$serverArray[] = '277543'; 
$serverArray[] = '2720153'; 
$serverArray[] = ''; 
$serverArray[] = ''; 

foreach($serverArray as $serverValue) 
{ 
    if($serverValue <> '') 
    { 

// initialize curl 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($ch, CURLOPT_URL, "https://api.domain.com/$serverValue"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
$result = curl_exec($ch); 

//decodes json and prints id 
$json = json_decode($result, true); 
$ip = $json[droplet][networks][v4][0][ip_address]; 
$status = $json[droplet][status]; 
$currentapp = $json[droplet][image][name]; 
$hostname = $json[droplet][name]; 
$memory = $json[droplet][memory]; 
$cpu = $json[droplet][vcpus]; 
$disk = $json[droplet][disk]; 
    ?> 

<table> 
<tr>     
<td style="text-align:center"><?php echo $ip; ?></td> 
<td style="text-align:center"><?php echo $status; ?></td> 
<td style="text-align:center"><?php echo $currentapp; ?></td> 
<td style="text-align:center"><?php echo $hostname; ?></td> 
<td style="text-align:center"><?php echo $memory; ?></td> 
<td style="text-align:center"><?php echo $cpu; ?></td> 
<td style="text-align:center"><?php echo $disk; ?></td> 


<?php } 
    } ?> 
Смежные вопросы