2016-08-24 3 views
0

나는 이것을 잠시 동안 일해 왔으며, 아마도 나는 이것을 어렵게 만들고있다. 모든 공유 지식은 매우 높이 평가 될 것입니다. 내 코드는 API를 사용하여 데이터를 호출하기 때문에이를 순서가 지정된 목록으로 표시 할 수 있었지만 표 형식을 사용하여 더 잘 표현할 수 있도록하려고했습니다. 결과를 그룹화하여 표시하는 것이 이상적입니다. 아래 는 내가 지금까지 만든 것입니다,하지만 현재 아무것도 출력되지 않은 : 당신은 그냥 HTML로 다음 동적으로 채울 PHP를 사용하여 그것을보고 싶지만API 데이터에서 테이블을 만드는 방법

echo "<table>"; 
echo "<tr>"; 
echo "<th>Date</th>"; 
echo "<th>Number of Asteroids</th>"; 
echo "</tr>"; 

echo "<tr>"; 
foreach ($near_earth_object->close_approach_data as $close_approach) { 

      echo "<td>" . $close_approach->close_approach_date . "</td>"; 

foreach ($data->near_earth_objects as $date => $count) { 

    echo"<td>" . sizeof($count) . "</td></tr>"; 

} 
} 

echo "<tr>";  
echo "<th>Asteroid Name</th>"; 
echo "<th>Asteroid Size</th>"; 
echo "<th>Velocity</th>"; 
echo "<th>Passing Earth By</th>"; 
echo "</tr>"; 

echo "<tr>"; 
    foreach ($data->near_earth_objects->$date as $near_earth_object) { 
echo "<td>" . $near_earth_object->name . " <a href='" . $near_earth_object->nasa_jpl_url . "'>" . $near_earth_object->nasa_jpl_url . "</td>"; 
echo "<td>" . $near_earth_object->estimated_diameter->meters->estimated_diameter_min . " metres</td>"; 
    } 

foreach ($near_earth_object->close_approach_data as $close_approach) { 
echo "<td>" . $close_approach->relative_velocity->kilometers_per_hour . " km/h " . "</td><td>". $close_approach->miss_distance->kilometers . " km</td></tr> "; 
     } 



echo"</table>"; 

답변

1

당신은 가능한 한 HTML 코드를 반향하지 않도록해야합니다. PHP Short tags<?=?>을 사용하여 HTML 코드에 PHP를 삽입 할 수 있습니다. 이 줄

echo "<td>" . $close_approach->close_approach_date . "</td>"; 

는 또한 나는이 수 있지만 어떤 PHP 개폐 태그 (<?php?>) 시작하고 PHP 코드를 종료 (이 표시되지 않는

<td><?=$close_approach->close_approach_date?></td> 

로 변경 될 수 귀하의 예가 부족합니다)

테이블 데이터 <td> 태그는 테이블 행이 아닌 <tr> 태그 만 반복합니다. 당신은 당신의 루프에있는 모든 항목에 대한 새 테이블 행을 만들 유지하기 위해 루프에서 다음을 포함해야한다 :

foreach ($near_earth_object->close_approach_data as $close_approach) { 
echo "<tr>"; 

마지막으로, PHP는 제어 구조의 대체 문법을 제공합니다. 체크 아웃 : PHP documentation

PHP는 일부 제어 구조에 대해 대체 구문을 제공합니다. 즉, if, while, for, foreach 및 switch입니다. 각각의 경우 대체 구문의 기본 형식은 여는 중괄호를 콜론 (:)으로 변경하고 닫는 중괄호를 endif, endwhile, endfor, endforeach 또는 endswitch로 변경하는 것입니다.

당신은 당신의 기존 코드를 개선하기 위해 이것을 사용할 수 있습니다

:

foreach ($data->near_earth_objects->$date as $near_earth_object) { 
    echo "<td>" . $near_earth_object->name . " <a href='" . $near_earth_object->nasa_jpl_url . "'>" . $near_earth_object->nasa_jpl_url . "</td>"; 
    echo "<td>" . $near_earth_object->estimated_diameter->meters->estimated_diameter_min . " metres</td>"; 
    } 

을 그리고이

foreach ($data->near_earth_objects->$date as $near_earth_object): ?> 
    <td><?=$near_earth_object->name?> <a href='<?=$near_earth_object->nasa_jpl_url?>'><?=$near_earth_object->nasa_jpl_url?></td> 
    <td><?=$near_earth_object->estimated_diameter->meters->estimated_diameter_min?> metres</td> 
    <? endforeach; ?> 
처럼 뭔가로 돌려
0

내가 테이블을 만드는 것이 좋습니다. 도움이 될 수있는 것은 PHP가 모든 HTML을 에코하는 대신 PHP를 사용하여 데이터를 채우는 것입니다 (즉, 디스플레이에서 데이터 분리). 그냥 here에서 가져온 예를 들어 :

<?php foreach ($things as $thing): ?> 
    <li><?php echo $thing; ?></li> 
<?php endforeach; ?> 
관련 문제