2016-07-15 2 views
0

PHP & HTML을 사용하여 작은 금융 시장 위젯을 만들고 있습니다. 다음 CSV 문자열을 HTML 테이블로 변환하려고합니다.PHP에서 문자열 CSV를 HTML 테이블로 변환

result=1&size=200 EURUSD;1.11143;1.11143;1.11170;1.11025;1468549348 CADJPY;82.333;82.345;82.382;81.411;1468549348 EURGBP;0.81374;0.81386;0.83144;0.77313;1466801995 CADCHF;0.76110;0.76110;0.76120;0.75957;1468549347 

$ result라는 문자열에 위의 값이 나타납니다. |

기호 :

어떻게 같은 표준 HTML 테이블로 표시 할 수 있습니다 입찰 | 물어보십시오 | 높은 | 낮음 | 시간
EURUSD | 1.11143 | 1.11143 | 1.11170 | 1.11025 | 1468549348

등등 ..

은 편집 :

$csvData = $result; 
$lines = explode("\n", $csvData); 
echo "<table class='display' id='example'><thead >"; 
echo "<tr class = 'even_gradeC'> 
    <th class='history'><strong>Symbol</strong></th> 
    <th class='history'><strong>Bid</strong></th> 
    <th class='history'><strong>Ask</strong></th> 
    <th class='history'><strong>High</strong></th> 
    <th class='history'><strong>Low</strong></th> 
    <th class='history'><strong>Time</strong></th> 

    </tr>"; 
    echo "</thead>";  
foreach ($lines as $line) 
{ 
$data = explode(';', $line); 
if(count($data)==6) 
{ 
echo"<tr class='even_gradeC'>"; 
foreach($data as $row => $value) 
{ 
if($row<>6) 
//{ 
if ($row==1) 
{ 
echo "<td align='right'>"; 
echo $value; 
echo "</td>"; 

} 
elseif ($row==2) 
{ 
echo "<td>"; 
echo $value; 
echo "</td>"; 
} 
elseif ($row==3) 
{ 
echo "<td>"; 
echo $value; 
echo "</td>"; 
} 
elseif ($row==4) 
{ 
echo "<td>"; 
echo $value; 
echo "</td>"; 
} 

elseif ($row==5) 
{ 
echo "<td>"; 
echo $value; 
echo "</td>"; 
} 
elseif ($row==6) 
{ 
echo "<td>"; 
echo $value; 
echo "</td>"; 

} 
else 
{ 
echo "<td>"; 
echo $value; 
echo "</td>"; 
} 
} 
echo "<td>"; 
echo $value; 
echo "</td>"; 
} 
} 
echo "</tr>"; 
echo "</table>"; 
+5

뭔가를 시도하고 우리에게 돌아 가야했습니다. 스택 오버플로가 작업을 수행하기 위해 여기에 있지 않습니다. –

+0

공간을 기준으로 문자열을 분할 한 다음를 사용하여 '폭발'하십시오. 구분 기호로 사용 – mulquin

+0

힌트 : ['explode()'] (http://php.net/explode) – Darren

답변

0
$csvLines = explode("\n", $csvData); // or use space as delimiter 

echo "<table><tbody>"; 

foreach ($csvLines as $line) { 
    $lineData = explode(";", $line); 

    if (6 != count($lineData)) { 
     continue; 
    } 

    echo "<tr>"; 

    foreach ($lineData as $value) { 
     echo "<td>" . $value . "</td>"; 
    } 

    echo "</tr>"; 
} 

echo "</tbody></table>"; 
관련 문제