2010-12-09 2 views
-1

로 구분 된 파일로 채워집니다 테이블 : (샘플 레코드)만 마지막 튜플은 내가 HTML 테이블에 기록의 유형이 PHP

game191|06/09/2007|Jennifer Woods Memorial Grand Prix|C54|Nikolayev, Igor|2431|Parry, Matt|2252|1-0 

나는이 시도하지만, 그것은 단지 데이터 파일 (/games.csv)

<?php 
// open delimited data file "|" if needed and read. 
//game191|06/09/2007|Jennifer Woods Memorial Grand Prix|C54|Nikolayev, Igor|2431|Parry,   Matt|2252|1-0 

if(!isset($_SESSION['games_array'])) {$file = $_SERVER['DOCUMENT_ROOT'].'/games.csv'; 
$fp = fopen($file,"r"); $list = fread($fp, filesize($file)); 
$_SESSION['games_array'] = explode("\n",$list); fclose($fp);} 

// extract variables from each tuple by iteration 
foreach ($_SESSION['games_array'] as $v);{ 
$token = explode("|", $v); 

//write the table row and table data 
echo "<tr class=\"simplehighlight\" onclick=\"window.location.href='./games/"; 
echo $token[0]; echo ".php';\">"; 
echo "<td>";echo $token[1];echo "</td>"; echo "<td>";echo $token[2];echo "</td>"; 
echo "<td>";echo $token[3];echo "</td>"; echo "<td>";echo $token[4];echo "</td>"; 
echo "<td>";echo $token[5];echo "</td>"; echo "<td>";echo $token[6];echo "</td>"; 
echo "<td>";echo $token[7];echo "</td>"; 
echo "<td class=\"text-center\">"; echo $token[8];echo "</td>"; 
echo "</tr>";}; 
?> 
,691에서 마지막 레코드를 표시

무엇이 누락 되었습니까?

$lines = file('filename'); 

foreach ($lines as $line_num => $line) { 
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; 
} 

답변

4
foreach ($_SESSION['games_array'] as $v);{ 

foreach ($_SESSION['games_array'] as $v) { 
+0

내가 그 실수를 할 때마다 한푼도 썼다면 ... 음, 어쨌든 나는 몇 마디가 될 것이다. – AgentConundrum

+0

날카로운 눈에 +1 +1 – devrooms

0

파일()을 시도해야 하는가? php error_reporting이 모든 오류를 표시하도록 설정되어 있습니까? 상대 경로 만 사용해 볼 수도 있습니다. 시도해 보셨습니까? file_get_contents를 사용해보십시오 ...

0

해당 파일에 액세스 할 수있는 권한 권한이 있습니까 :

0

그것은 내가 생각한 것보다 간단했습니다 ... 나는 다른 스크립트에서 오래된 정크 코드를 재사용하는 것을 잘못 생각했습니다.

나는 이것을 발견했다.

<?php 
$text = file('games.csv'); foreach($text as $line) {$token = explode("|", $line); 
echo "<tr class=\"simplehighlight\" onclick=\"window.location.href='./games/"; 
echo $token[0]; echo ".php';\">"; 
echo "<td>";echo $token[1];echo "</td>"; echo "<td>";echo $token[2];echo "</td>"; 
echo "<td>";echo $token[3];echo "</td>"; echo "<td>";echo $token[4];echo "</td>"; 
echo "<td>";echo $token[5];echo "</td>"; echo "<td>";echo $token[6];echo "</td>"; 
echo "<td>";echo $token[7];echo "</td>"; 
echo "<td class=\"text-center\">"; echo $token[8]; echo "</td>"; 
echo "</tr>";}; 
?> 

개선 사항이나 더 빠른 기능이 있으면 알려주세요. 고맙습니다 !

+0

'foreach'가 올바른 구문을 사용하기 때문에 작동합니다. 원래 예제는 그렇지 않습니다 (위의 대답 참조). 또 다른 제안 : 적절한 들여 쓰기를 사용하십시오. 이러한 오류를 잡는 데 도움이됩니다. – Lee

+0

저는 주로 작은 따옴표를 사용합니다. 이렇게하면 이스케이프하지 않고 문자열에 이중 따옴표를 사용할 수 있습니다. 코드를보다 쉽게 ​​읽을 수있게 만들기. 작은 따옴표 스타일을 사용하면 문자열이 파싱되지 않습니다. 그러나 성과 현명한 그것은 정말로 큰 차이가 아니다. – PeeHaa

관련 문제