Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Recebendo número intederminado de valores


Marcos Beraldo

Pergunta

E ae galera.. seguinte.

Eu estou criando um setor de administração para cadastrar alguns cursos no site.

Cada curso tem um determinado número de módulos que varia de um curso para outro.

Quando o administrador vai cadastrar os módulos do curso ele insere o número de módulo que consta no curso e o sistema cria os campos.

Por exemplo... Curso 1 tem 8 módulos, o sistema cria 8 fieldtexts... beleza..

A dúvida é.. como receber esses campos no php?

Como eu não sei o numero de módulos não há como criar os comandos para receber estes valores porque eu não sei quantos são...

Poderia criar por exemplo 15 linhas de comando recebendo esses valores, mas se eu tenho só 8 módulos ficariam 7 linhas inutilizadas...

Gostaria de aprender um método mais profissional. Se algém puder ajudar...

Obrigado!

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

bem, partindo doq eu entendi, você pode, cada vez que cadastrar um módulo, incrementar uma variável, isso contaria quantos módulos o curso tem, então use essa variavel pra receber os valores através de um loop for, assim não haveram campos inutilizados...

tomara que ajude ^^

Editado por Scripter
Link para o comentário
Compartilhar em outros sites

  • 0

posta o código ai ^^

to com tempo de sobra pra le =D

+++++++++ EDIT +++++++++

a respeito da sintaxe, você faria basicamente assim:

$var1 = 0;

while($var1<$variavel_que_contou_o_numero_de_modulos_anteriormente) {

// código que faz o que você quer, coisa que eu não consegui entende...

$var1++

}

//resto do código...

Editado por Scripter
Link para o comentário
Compartilhar em outros sites

  • 0

Eita.. agora já apaguei.. rsrs

Vou tentar com o for.. e te mostro

olha é mais ou menos isso:

$min = 1;

$campos = 8;

while ($min <= $campos) {

$var = $_POST["texto_".$min++]; // Aqui que eu não consigo desenvolver

}

Para receber um campo eu preciso desta linha: $variavel = $_POST["texto_1"];

cada textfielt gerada no html ganha um encremento... texto_1, texto_2, texto_3 etc

Preciso repetir esta linha $variavel = $_POST["texto_1"]; o numero de vezes que for preciso.. dando incremento no texto_1

Entendeu??

Link para o comentário
Compartilhar em outros sites

  • 0

lol, estranhamente, meu apache ta travando exatamente na pagina >.< o resto tudu de php e html vai, nessa ali ta travando, mais de qlqr maneira, o código:

pagina1.html

<html>
<head>
<title>Teste</title>
</head>
<body>
<form action=pagina2.php method=post>
<input type=text name=texto_1 value=teste1><br><input type=text name=texto_2 value=teste2>
<input type=submit value=vai...></form>
</body>
</html>
pagina2.php
<html>
<head>
<title>Teste</title>
</head>
<body>
<?
$var1=texto_;
$num=1;
$modulos=2; //no meu caso eu já sei quantos módulos eu tenho, mais pra você é só puxar o numero de uma outra variavel.
$min=1;
while($min<=$modulos) {
    $var2=$_POST[$var1.$num];
    echo $var2;
    $num++;
}
?>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Cara o codigo até funcionou.. ele mostra os valores recebidos, mas em seguida da o seguinte erro:

Fatal error: Maximum execution time of 60 seconds exceeded in C:\xampp\htdocs\www\ead\admin\pagina2.php on line 12

vou tentando aqui pra ver se descubro o que é

Mas de qualquer form apor enquanto muito obrigado... já é meio caminho andado.. rs

Link para o comentário
Compartilhar em outros sites

  • 0

problema resolvido, eu cometi um errinho no while, tai:

while($min<=$modulos) {
    $frase = $var1.$num;
    $var2=$_POST[$frase];
    $num++;
    $min++;
}
só substitui o while de antes por esse ai. qlqr coisa posta ai ^^ ++++++++ EDIT ++++++++++ a versão em for:
for($min=1;$min<=$modulos;$min++) {
$frase = $var1.$num;
    $var2=$_POST[$frase];
    echo $var2;
       $num++;
}
no caso do for, você não precisa declarar a variavel min antes do loop. então a pagina ficaria assim: pagina2.php
<html>
<head>
<title>Teste</title>
</head>
<body>
<?
$var1=texto_;
$num=1;
$modulos=2; //no meu caso eu já sei quantos módulos eu tenho, mais pra você é só puxar o numero de uma outra variavel.
for($min=1;$min<=$modulos;$min++) {
        $frase = $var1.$num;
    $var2=$_POST[$frase];
    echo $var2;
    $num++;
}
}
?>
</body>
</html>

Editado por Scripter
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...