0
if($tarefa<> NULL && $data <> NULL){
salvarTarefa($tarefa,$descricao,$data);
}
if($conclusao<>NULL){
salvarConclusao($conclusao);
}
gerarColunasLinhas();
I am using these commands to generate a table, according to the tasks being saved, my problem is that I can save the Task, but when I click to save, the columns are generated without updating, having to refresh the page again to show the data. I don’t know if the problem is with the "delay", until I save the record. I’m using POST.
/*A função gerarID() está fazendo com que a página tenha que ser atualizada novamente, caso remova funcionara normalmente. O gerarID era uma função a parte que gerava um ID para a tarefa, porém decidi colocar tudo em salvarTarefa, na tentativa de conseguir gerar o ID fazendo com que a página carregasse normalmente.*/
function salvarTarefa($tarefa,$descricao,$data){
$filesize = filesize("teste.txt");
if($filesize>0){
$linhas = coletarLinhas();
$ID = count($linhas) - 1;
}else{
$ID = 0;
}
$row = "$tarefa , $descricao , $data , 0 -$ID \n ";
$handle = fopen("teste.txt","a");
fwrite($handle,$row);
fclose($handle);
}
/*Distribuirá cada array de tarefa em um TR e cada dado desse array em um TD.*/
function gerarColunasLinhas(){
$tarefas = listarTarefas();
if($tarefas<>NULL){
foreach($tarefas as $indice => $tarefa){
$estado = $tarefa['estado'];
echo "<tr>\n";
echo "<td class='numero'>".$indice."</td>\n";
echo "<td>".$tarefa['nome']."</td>\n";
echo "<td>".$tarefa['descricao']."</td>\n";
echo "<td>".$tarefa['data']."</td>\n";
echo gerarCheckBox($estado)."\n";
echo "</tr>";
}
}
}
/*Distribuirá os arquivos em um Array com um Array para cada Tarefa*/
function listarTarefas(){
$opcoes = coletarLinhas();
$tarefas = [];
if($opcoes<>NULL){
foreach($opcoes as $linha){
$linha = explode("\n",$linha);
$tarefas[] = gerarTarefa($linha);
}
return $tarefas;
}
}
/*Pegará todas os dados do arquivo.*/
function coletarLinhas(){
$handleRead = fopen("teste.txt","r");
$x = (int)filesize("teste.txt");
if($x <> NULL){
$resultados = fread($handleRead,$x);
$explode = explode("\n",$resultados);
return $explode;
}
}
I see that you read up to the filesize of the file. This can be cached. Try giving a
clearstatcache()
before reading.– bfavaretto
Wow, that didn’t even cross my mind, thank you very much! How can I give some kind of "Upvote" to you?
– Dídimo
I will post the solution as an answer, so it is recorded for others who have the same problem ;)
– bfavaretto
Okay! Thank you, really!
– Dídimo