我创建了一个PHP页面,它从CSV中获取值,将它们作为表单显示给用户,然后将更改提交到CSV(覆盖)。
我有两个问题。一,当我提交时,我需要在表格中显示新的CSV(更改后的CSV),但我只有在按 F5 时才能显示。 还有两个,如果我多次点击提交按钮,我的代码会变得有点疯狂。
那么如何在不按 F5 的情况下重新加载此页面以显示此新信息,或者如果我在提交按钮上单击多次,我的代码会变得怪异?
<?php
ini_set('max_input_vars', 3000);
//***********************************
// CLIENT SIDE
//***********************************
$i=0;
$j=0;
global $var;
global $aux;
global $cnpj_cadastro;
global $data_corte;
global $data_analise;
global $header;
$val=0;
$f = fopen("Base_Cadastro_CNPJ_Nulo.csv", "r");
//$f = fopen("CSV_PIN.csv", "r");
while (($line = fgetcsv($f)) !== false)
{
if(strlen($line[0])>0)
{
$aux[$j]=$line;
$j++;
}
}
fclose($f);
$colunas=count($aux[0]);
foreach ($aux as $qtd) {
$linhas+= count($qtd);
}
$i=0;
$j=0;
while(strlen($aux[$j][0])>0)
{
$j++;
$linhas=$j;
}
$linhas=$linhas-1;
$i=0;
$j=0;
$k=0;
$l=0;
$m=0;
$n=0;
$p=0;
$q=0;
$indice_acao=0;
echo "<html>";
echo"<body>";
echo"<table border=1>"; //p.groove {border-style: groove;}
//echo "<form id='form_teste' name='tabela' method='post' action=''>";
echo "<form id='form_teste' name='tabela' method='post' action='$PHP_SELF'>";
for($j=0;$j<=$linhas;$j++)
{
echo"<tr>";
for($i=0;$i<=$colunas;$i++)
{
if($j!=0)
{
if($i==0)
{
// echo"<td>".$aux[$j][0]."<td>";
$cnpj_cadastro[$k]=$aux[$j][0];
echo"<td>".$cnpj_cadastro[$k]."</td>";
$k++;
$val++;
}
if($i==1)
{
//echo"<td>".$aux[$j][1]."<td>";
$data_corte[$l]=$aux[$j][1];
echo"<td>".$data_corte[$l]."</td>";
$l++;
}
if($i==2)
{
//echo"<td>".$aux[$j][2]."</td>";
$instalacao[$m]=$aux[$j][2];
echo"<td>".$instalacao[$m]."</td>";
$m++;
}
if($i==3)
{
$data[$n]=$aux[$j][3];
echo"<td>".$data[$n]."</td>";
// echo $data=date('d/m/Y');
//echo"</td>";
$n++;
}
if($i==4)
{
echo"<td>";
echo "<select name=ACAO_CNPJ_INVALIDO_".$indice_acao.">";
echo "<option value=".$aux[$j][4].">".$aux[$j][4]."</option>";
echo "<option value='Remover_INSTALAÇÃO da base de origem'>Remover_INSTALAÇÃO da base de origem</option>";
echo "<option value='Solicitar atualização CNPJ pelo depto comercial'>Solicitar atualização CNPJ pelo depto comercial</option>";
echo "<option value='Ação desnecessária'>Ação desnecessária</option>";
echo "</select>";
echo"</td>";
$indice_acao++;
}
if($i==5)
{
$analisado_por[$p]=$aux[$j][5];
echo"<td>".$analisado_por[$p]."</td>";
$p++;
}
if($i==6)
{
$flag[$q]=$aux[$j][6];
echo"<td>".$flag[$q]."</td>";
$q++;
}
}
else
{
if(strlen($aux[$j][$i])>0)
{
echo"<td>";
$header=$header.','.$aux[$j][$i];
echo $aux[$j][$i];
echo"</td>";
}
}
}
echo"</tr>";
}
$var=$val;
echo "<input type='submit' name='submit' />";
echo"</form>";
echo"</table>";
echo"</body>";
echo "</html>";
//***********************************
// SERVER SIDE
//***********************************
$j=0;
for ($i=0;$i<$var;$i++)
{
$acao[$i]=$_POST['ACAO_CNPJ_INVALIDO_'.$i];
// echo"</br>";
// echo 'original_analisado'.$i.': '.$aux[$i+1][4];
// echo"</br>";
// echo 'valor_analisado'.$i.': '.$acao[$i];
If($aux[$i+1][4]!=$acao[$i])
{
$flag[$i]=1;
}
}
//$header = substr($header, 1, -1);
$header = substr($header, 1);
$i=0;
$fd = fopen("Base_Cadastro_CNPJ_Nulo.csv", "w");
fputs($fd, $header);
fputs($fd, PHP_EOL);
foreach($cnpj_cadastro AS $cnpj)
{
fputs($fd, $cnpj .',');
fputs($fd, $data_corte [$i].',');
fputs($fd, $instalacao [$i].',');
fputs($fd, $data [$i].',');
fputs($fd, $acao [$i].',');
fputs($fd, $analisado_por [$i].',');
fputs($fd, $flag [$i]);
fputs($fd, PHP_EOL);
$i++;
}
fclose($fd);
parent.window.location.reload(true);
?>