I'm having trouble parsing a text file, and putting the information in table format. The txt file i am parsing is in the format: name,dname,date name,dname,date name,dname,date Have searched all night for code that may help, and the closest i could find was: $fichier = 'textfil.txt'; if($fp = fopen($fichier, 'r')) { $ligne = 1; echo '<table border="1" bordercolor="#00CCFF" width="500">'; echo '<tr align="center"><td colspan="3">Title</td>'; while (!feof($fp)) { $data = fgets($fp); list ($name, $dname) = explode(',', $data); list ($tow, $obj) = explode(',', $dname); echo '<tr>'; echo '<td>', $name, '</td>'; echo '<td>', $tow, '</td>'; echo '<td>', $obj, '</td>'; echo '</tr>'; $ligne++; } echo '</table>'; fclose($fp); } else { exit('Error : open impossible ' . $fichier); } PHP: However it is not working. Any help greatly appreciated.
$the_file = "yourfile.txt"; $file_content = @file_get_contents($the_file); $file_content_exp = explode('\n', $file_content); foreach($file_content_exp as $key => $value) { $data_exp = explode(',', $value); $name[$key] = $data_exp[0]; $dname[$key] = $data_exp[1]; $date[$key] = $data_exp[2]; } PHP: now you can call the variable $name, $dname, and $date. print $name[0]; PHP: the code above prints the name of the very first line of the file. If you want to print the datas in a table like the code you posted, $table = '<table border="1" bordercolor="#00CCFF" width="500">'; $table .= '<tr align="center"><td>Name</td><td>DName</td><td>Date</td></tr>'; for($i=0; $i<=count($name); $i++) { $table .= '<tr><td>' . $name[$i] . '</td><td>' . $dname[$i] . '</td><td>' . $date[$i] . '</td></tr>'; } $table .= '</table>'; print $table; PHP:
Thanks for the help djzmo, I have tried to code to print the data in the tables, but it is is only displaying 1 row of data. And finishes too earlier, not returning the rest?
Make sure that you are printing the data in a loop like this one: $table = '<table border="1" bordercolor="#00CCFF" width="500">'; $table .= '<tr align="center"><td>Name</td><td>DName</td><td>Date</td></tr>'; for($i=0; $i<=count($name); $i++) { $table .= '<tr><td>' . $name[$i] . '</td><td>' . $dname[$i] . '</td><td>' . $date[$i] . '</td></tr>'; } $table .= '</table>'; print $table; PHP: