2009-11-18 2 views
2

저는 CSV 파일을 멋진 테이블에 넣는 간단한 코드로 작업 해 왔습니다. 그러나 데이터를 가져 오기 때문에 ODD 행의 스타일을 지정하는 것은 상당히 어려운 일입니다.PHP를 통해 CSV 데이터를 사용하는 테이블의 행 스타일 지정

나는이라는 주소를 주소로 보내는 방법이 필요하므로 배경과 같은 "얼룩말"을 만들고 다른 데이터 스타일로 특정 데이터를 넣을 수 있습니다.

aynone은 아이디어가 있습니까? 고마워요!

<?php 
print("<TABLE>\n"); 
$row = 0; 
$handle = fopen("test_file.csv", "r"); 
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
    $num = count($data); 
    for ($c=0; $c <= $row; $c++) 
{ 
    print("<TR>"); 
    print("<TD>".$data[0]." </td>"); 
    print("<TD>".$data[1]." </td>"); 
    print("<TD>".$data[2]." </td>"); 
    print("<TD>".$data[3]." </td>"); 
    print("<TD>".$data[4]." </td>"); 
    print("</TR>"); 
} 
} 
fclose($handle); 

?> 

답변

1

도 있습니다 얼룩말 스타일의 착색을 허용 TableSorter라는 jQuery 플러그인 및 클릭 투 정렬 할 수있는 기능을 추가 행. 통합이 매우 쉽습니다.

이것은 순수한 PHP 솔루션은 아니지만 대부분의 경우 CSS와 JavaScript를 코딩해야하므로 결국 많은 시간을 절약하게되고 하드 코딩을 방지 할 수 있습니다. 귀하의 PHP 로직에 물건.

먼저 당신이 문서의 <head>에서 스크립트를 사용하고 있습니다 :

<table id="myTable"> 
<thead> 
<tr> 
    <th>Last Name</th> 
    <th>First Name</th> 
    <th>Email</th> 
    <th>Due</th> 
    <th>Web Site</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
    <td>... 
... 
</tbody> 
</table> 

끝은 당신이 jQuery를 함께 사용 :

<script type="text/javascript" src="/path/to/jquery-latest.js"></script> 
<script type="text/javascript" src="/path/to/jquery.tablesorter.js"></script> 

그런 다음 당신은 당신의 테이블 <thead><tbody> 요소가 있는지 확인합니다 :

$(document).ready(function() 
    { 
     $("#myTable").tablesorter({ widgets: ['zebra'] }); 
    } 
); 
1

당신이 적절한 CSS를 추가 할 수 있습니다 후

print("<TR class='" . ($c%2 == 0?'even':'odd')."'>"); 

에 대한

.even { 
    background-color: #aaaaaa; 
} 

.odd { 
    background-color: #fffff; 
} 
1

사용 뭔가 같은 :

<table> 
<tbody> 
<?php 
$row = 0; 
$handle = fopen('test_file.csv', 'r'); 
while ($data = fgetcsv($handle, 1000, ',')): 
    $class = ++$row & 1 == 1 ? ' class="odd"' : ''; 
    $num = count($data); 
?> 
<tr<?php echo $class; ?>> 
<?php for ($c=0; $c <= $num; $c++) { 
    <td><?php echo $data[$c]; ?></td> 
<?php endfor; ?> 
</tr> 
<?php endwhile; ?> 
</tbody> 
</table> 
<?php fclose($handle); ?> 

과 :

또는 (내가 개인적으로 선호) 짧은 태그:

<table> 
<tbody> 
<? 
$row = 0; 
$handle = fopen('test_file.csv', 'r'); 
while ($data = fgetcsv($handle, 1000, ',')): 
    $class = ++$row & 1 == 1 ? ' class="odd"' : ''; 
    $num = count($data); 
?> 
<tr<?= $class ?>> 
<? for ($c=0; $c <= $num; $c++) { 
    <td><?= $data[$c]; ?></td> 
<? endfor; ?> 
</tr> 
<? endwhile; ?> 
</tbody> 
</table> 
<? fclose($handle); ?> 
+0

'for ($ c = 0; $ c <= $ num; $ C++) {' 와'endfor; –

관련 문제