2
MongoDB에서 레코드를 가져 오는 앱을 만들고 있습니다. 나는 내장 한 THEAD> TR> 일 다음과 같이이 나에게주는각 mongodb 레코드를 html 테이블에 출력합니다.
// building table head with keys
$cursor = $collection->find();
$array = iterator_to_array($cursor);
$keys = array();
foreach ($array as $k => $v) {
foreach ($v as $a => $b) {
$keys[] = $a;
}
}
$keys = array_values(array_unique($keys));
// assuming first key is MongoID so skipping it
foreach (array_slice($keys,1) as $key => $value) {
echo "<th>" . $value . "</th>";
}
: 이것은 아주 잘 작동
<thead>
<tr>
<th>name</th>
<th>address</th>
<th>city</th>
</tr>
</thead>
, 모든 키를 잡고 테이블에 머리를 구축합니다. 나는 아무것도 지정할 필요가 없으며 thead는 데이터로부터 동적으로 구축됩니다. 내가 알아낼 수 없어요 부분은 모든 건물 인 TR> I 쉽게 정보를 잡아 같이 그것을 구축 할 수 있습니다
TD의 : 이렇게
이$cursor = $collection->find();
$cursor_count = $cursor->count();
foreach ($cursor as $venue) {
echo "<tr>";
echo "<td>" . $venue['name'] . "</td>";
echo "<td>" . $venue['address'] . "</td>";
echo "<td>" . $venue['city'] . "</td>";
echo "</tr>";
}
내 PHP 때마다 수정하는 나를 필요 새 필드를 추가합니다. 나는 thead와 함께 mongodb의 데이터를 기반으로 tr> td를 자동으로 어떻게 구축 할 수 있습니까?
내 데이터는 다음과 같습니다
{
"name": "Some Venue",
"address": "1234 Anywhere Dr.",
"city": "Some City"
}
이 작동 아래와 같이 두 번째 foreach 문을 사용하려고 가지고, 덕분에 많이 :) – ccheney
이를 유효 HTML을하지 않습니다해야 행은 일부. 서에서 다른 필드를가집니다. 또한 특히 첫 번째 행이 다른 행의 필드를 생략하면 필드 이름이 이상하게 보일 수 있습니다. 기본적으로 이는 대부분의 경우 스키마가없는 행에 대한 형식이 잘못된 테이블을 만듭니다. – Sammaye