Jump to content
Fórum Script Brasil
  • 0

Como faço para incrementar uma variável?


AlexArt

Question

Olá membro(os)!

Sou novo na programação php e por isso peço sua ajuda.

O objetivo desse código e retornar um número e incrementar a variável $i sempre com +1 a partir de um arquivo .txt.

Acontece que quando o número é = a 9 , o próximo número , que deveria ser 10, retorna para 1, iniciando a contagem a partir do 1.

Já tentei uma série de comando php, condicionais e loops, mas estressei. Admito que não consigo resolver.

A finalidade desses arrays é guardar as strings que vem de uma tabela do banco de dados.

Claro! Eu poderia usar uma tabela temporária. Mas também não me dei bem com ela.

Também é óbvio que pode-se usar while or for, mas preciso que seja passo a passo, ao clique no link ou no botão.

Sempre que quero inserir novos dados na tabela temporária, esta resseta, zerando tudo, até os dados já inclusos.

Acredito que se usar uma sequência de arrays em sessões terei um resultado satisfatório. Os dados Serão mostrados e disponibilizados para impressão.

Como vocês poderão notar, tanto o link quanto o botão submit reinicializa o código.

Agradeço antecipadamente pela atenção.

Código:

<?

// inicia a sessão

session_start();

// Definição de Arrays

$cod = new SplFixedArray(20);

$produto = new SplFixedArray(20);

$unid = new SplFixedArray(20);

$quant = new SplFixedArray(20);

$valor = new SplFixedArray(20);

$codvenda = new SplFixedArray(20);

$data = new SplFixedArray(20);

$lista= new SplFixedArray(20);

// Abrir arquivo ANSI

$char = fopen("i.txt", "r");

// pegar conteúdo do arquivo e converte-o em inteiro

$i = (int)fgetc($char);

// Preencher arrays com qualquer coisa, nesse caso o resultado de $i

$cod[$i]=$i; $produto[$i]=$i; $unid[$i]=$i; $quant[$i]=$i; $valor[$i]=$i; $codvenda[$i]=$i; $data[$i]=$i;

// preencher array de arrays

$lista{$i}=array($cod[$i], $produto[$i], $unid[$i], $quant[$i], $valor[$i], $codvenda[$i], $data[$i]);

// visualizando resultados

echo $i."<br/>";

echo $lista[$i][0]."<br/>";

echo $lista[$i+1][1]."<br/>";

echo $lista[$i+2][2]."<br/>";

print_r($lista{$i})."<br/>";

print_r($lista{$i+1})."<br/>";

print_r($lista{$i+2})."<br/>";

// coloca o array na sessão

$_SESSION["loop"] = $lista{$i};

// fecha o arquivo

fclose($char);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Untitled Document</title>

</head>

<body>

<form id="form1" name="form1" method="post" action="">

<label>

<input type="submit" name="button" id="button" value="Submit" />

</label>

<label>

<input type="text" name="a" id="a" />

</label>

<p>&nbsp;</p>

</form>

<p><a href="temp.php<?

// abre o arquivo

$char2 = fopen("i.txt", "w");

// grava no arquivo : $i+1

fwrite($char2, $i+1);

// fecha o arquivo

fclose($char2);

?>">loop</a></p>

</body>

</html>

Edited by AlexArt
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Acho que você complicou demais, hein. =O

<?php
file_put_contents('i.txt', (int)file_get_contents('i.txt') + 1);
?>

Se o i.txt não existir, vai emitir um warning, mas o arquivo será criado normalmente com o valor 1:

PHP Warning: file_get_contents(i.txt): failed to open stream: No such file or directory in...

[]'s

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...