Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

BetoPorto

[Resolvido] Adicionar 1 unidade em variável

Recommended Posts

Fala galeera... tranquilo??

 

Seguinte, fiz um form aqui, quando clico em um botão ele adiciona mais um campo.

1 click = + 1 campo.

esses campos seguem ordem numérica, a partir do numero 2 (pq o primeiro campo já tá lá)

 

o problema aparece quando eu envio o form (method=post)

aí não adianta eu colocar a variável que deveria se tornar os números em ordem...

a variável adiquiri o valor do 2

 

Ou seja, só o conteudo dos 2 primeiros campos aparecem, o resto não aparece.

Já conferi, se eu colocar o numero 3, 4, etc... no lugar da variável, pega o conteudo das respectivas

o problema é automatizar pra criar automaticamente esses números

 

alguém sabe como fazer isso??

 

Obrigado =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não tenho certeza se posso ajudar (sou novo em php), mas para ficar melhor - não só para mim, mas como para todo o pessoal -, posta o código ai para analisarmos.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim:

 

Na propriedade name="" dos inputs (gerados e que já existem) você coloca algo assim:

 

<input name="campo[]" ... />

 

Isso vai fazer o PHP interpretar quantos inputs existirem, depois na hora de pegar os valores na próxima página, é só usar $_POST['campo'][0], $_POST['campo'][1], $_POST['campo'][2] e etc... ( $_POST['campo'] vai virar um Array)

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu por estar me ajudando TiuTalk,

mas nesse exemplo aí eu deveria na próxima página escrever um por um (tp, $_POST['campo'][0], $_POST['campo'][1], $_POST['campo'][2]) até completar o número de dados a serem exibidos certo??

O problema é que o número de dados é variável. Eu poderia tanto preencher 2 campos, como 10, ou 20...

e eles devem ser exibidos mesmo assim, como essa variação, entendeu??

 

o código eh mais ou menos assim

<?php
			for($n=2;$n<=100;$n++){
				$aux1 = "campo".$n; $campo = $$aux1;
			?>

graças a isso aí, qnd eu adiciono um novo campo (adiciono via javascript), ele adquire automaticamente o nome e uma numeração ($n)

tp, adiciono o primero campo, fica campo2, adiciono mais outro, fica campo3

e assim vai

quero saber oq faço pra quando eu clicar no botão (quando eu "postar") ele exibir os dados de todos esse campos

 

tinha feito assim

 

<?php
$teste = $_POST['campo'.$n.''];
echo $teste
?>

bem simples, vai ver por isso eh q nao funciona

como eu disse, nesse caso o $n adquire somente o primeiro valor, exibindo o campo2

 

 

acho q fui claro neh?? =)

 

valeu galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade ele vai ficar assim:

<?php
$teste = $_POST['campo'][$n];
echo $teste;
?>

Pra você ter certeza como ficou, dá um print_r no Array Post. Faz assim:

<?php
echo '<pre>';
print_r($_POST);
echo '</pre>';
?>

Espero ter ajudado

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu aí carlos Eduardo por me ajudar

só que continua não exibindo os outros campos, mesmo usando $_POST['campo'][$n]

 

não entendi pra q serve esse segundo código q você me passou

quando coloquei ele, apareceu o seguinte na tela

Array
(
	[campo1] => test
	[campo2] => tes
	[campo3] => test2
	[campo4] => teste
	[campo5] => test5
	[campo6] => tes
	[campo7] => res
)

isso, eu acho que, comprova oq eu tinha falado ants, d q ele está enviando os dados de todos os campos criados (no caso, os 6 q eu criei)

o problema é só exibi-los na outra página

 

se tiverem mais alguma idéia, ajudem ae por favor =)

 

valeeu

 

Ah, um PS.: usando $_POST['campo'][$n] invés de $_POST['campo'.$n.''], a $n não pega o valor de 2 (o inicial igual antes), sendo assim, não exibe nada mais (ants exibia soh o campo 2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, para pegar o valor como eu falei $_POST['campo']['n'], o nome do campo no html tem que ser assim: campo[].

 

Se você fizer assim e colocar o código que eu te mandei (serve só para debug, para você entender como ele está enviando o array), ele vai exibir algo assim:

Array
(
	[campo] => Array
		(
			[0] => test1
			[1] => test2
			[2] => test3
			[3] => test4
			[4] => test5
			[5] => test6
		)
)

Como fazer para exibir os valores depois:

 

$count = count($_POST['campo']);// isso vai retornar a quantidade de posições do array campo
for ($q = 0; $q < $count; $q++){
	 echo $_POST['campo'][$q];
}// dentro do for você coloca o que você quiser

Espero ter ajudado

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito =DD

caramba kra, valeuzão

você eh o kra =D

 

oq tava atravancando um pouco tb q eu descobri só agora, é que o javascript q tava fazendo cada campo vir com uma unidade a mais

ae agora coloquei o [] no js e ficou certinho...

esse ultimo codigo ae foi o bicho

resolveu a parada

 

muito obrigado Carlos

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.