у меня проблема с моим вторым массивом, чтобы отобразить его в таблице .. кто-нибудь может мне помочь ..
<?php
$logdate = "20140918";
$fileloc = $logdate."TPL.log";
if (file_exists($fileloc)) {
$result = array();
$file = explode("\n", file_get_contents($fileloc));
$rowFile = count($file);
?>
<table cellpadding="5" cellspacing="0" width="100%" border="1">
<thead>
<tr>
<th>#</th>
<th>Transaction ID</th>
<th>X</th>
</tr>
</thead>
<tbody>
<?php
$x=1;
foreach ( $file as $content ) {
$result[] = array_filter(array_map("trim", explode(";", $content)));
?>
<tr>
<td><?=$x?></td>
<td><?=$result[$x][0]?></td>
<td><?=$result[$x][9]?></td>
</tr>
<?php
$x++;
}
?>
</tbody>
</table>
<?php
} else {
echo "File x exists";
}
?>
на самом деле я хочу вставить запись в базу данных .. но я хочу, чтобы это сначала просмотреть в таблице. как я хочу просмотреть результат разнесения в столбце ..
Ваш код имеет серьезные проблемы. На этот раз вы никогда не закроете первый if
, Или индексы в массиве начинаются с 0
не 1
так ты делаешь не необходимость $x
, И я тоже не понимаю, что <?=$x?>
должно быть или что ты имеешь в виду под этим. Попробуй это:
<?php
$logdate = "20140918";
$fileloc = $logdate."TPL.log";
if (file_exists($fileloc)) {
$result = array();
$file = explode("\n", file_get_contents($fileloc));
$rowFile = count($file);
$output = '<table cellpadding="5" cellspacing="0" width="100%" border="1">
<thead>
<tr>
<th>#</th>
<th>Transaction ID</th>
<th>X</th>
</tr>
</thead>
<tbody>';
foreach ( $file as $key => $content ) {
$result[] = array_filter(array_map("trim", explode(";", $content)));
$output .= '<tr>
<td>'.($key+1).'</td>
<td>'.$result[$key][0].'</td>
<td>'.$result[$key][9].'</td>
</tr>';
}
$output .= '</tbody>
</table>';
} else {
echo "File x exists";
}
}
echo $output;
?>
Если вы тратите больше времени на поддержку своего собственного кода, это, вероятно, было бы хорошо.
$x=1;
работает только для for
петли.
я полагаю, что next($file);
будет делать то, что вы хотите.