Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Varios valores de 1 input

12-12-2009 20:03

To com uma duvida muito chata aque..
Vo postar a tabela primeiro que fica mais facil explicar.

<form method="post" action="?acao=cotar"> <table style="width: 40%" class="style2">         <tr>                 <td style="width: 256px" class="style1"><strong>Código</strong></td>                 <td style="width: 732px"><strong>Produto</strong></td>                 <td style="width: 94px"><strong>Preço</strong></td>         </tr> <? $verifica = mysql_query("SELECT * FROM produtos ORDER BY produto ASC"); while($extrai=mysql_fetch_array($verifica)) { extract($extrai); ?>         <tr>                 <td style="width: 256px" class="style1"><? echo "$codigo"; ?></td>                 <td style="width: 732px"><? echo "$produto"; ?></td>                 <td style="width: 94px"><input name="preco" type="text" style="width: 84px"></td>         </tr> <? } ?> </table> <br> <input name="Submit2" type="submit" value="Enviar Preços"></form>  

Ai ta pegando os valores do BD de código e produto, e a intenção é por um preço, supondo que tenha 4 itens vai ficar assim:

Codi Produto Valor
Cod1 Produto1 [ ]
Cod2 Produto2 [ ]
Cod3 Produto3 [ ]
Cod4 Produto4 [ ]
[Enviar]

Só que o na ora de pegar o valor, ele só pega o valor do ultimo produto.. como eu faço pra pegar o valor de todos?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17738
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Varios valores de 1 input

13-12-2009 09:04

Você teria que ter 4 inputs, cada um em forma de array, tipo: campo1[], campo2[]

Após o envio, você faz um foreach para pegar cada valor, e ordenar como precisa.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Varios valores de 1 input

13-12-2009 12:50

Tipo no meu caso isso não daria certo porque eu só tenho 1 input no código e pela consulta ele se duplica dependendo dos resultados do db, então eu pensei numa coisa:

no input eu inserir o id do produto ficando assim:

<input name="preco<? echo "$id"; ?>" type="text" style="width: 84px">

mas na ora de pegar o valor eu tbm teria que pegar com o id então eu fiz assim:

$colsulta = mysql_query("SELECT * FROM produtos"); while($mostra=mysql_fetch_array($consulta)) { extract($mostra); $preco$id = $_POST['preco$id']; echo "$preco$id <br>"; } 

Mas da erro se eu fizer assim, da o seguinte erro:
Parse error: syntax error, unexpected T_VARIABLE in /home/luan/public_html/cotacao/index.php on line 30
agora eu quero saber como conseguir esse POST com id na frente?
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Varios valores de 1 input

13-12-2009 13:26

achei um jeito de acabar com esse erro..
criei uma coluna na tabela chamada php, que vai conter os nomes dos inputs.

no caso ficaria assim:

<input name="<? echo "$php"; ?>" type="text" style="width: 84px">

e no php assim:

$verifica1 = mysql_query("SELECT * FROM produtos"); while($extrai1=mysql_fetch_array($verifica1)) { extract($extrai1); $v = $_POST['$php']; echo "$v <br>"; 

Bom, não deu erro mais só aparece os espaço.. não ta enviando valor nenhum...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17738
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Varios valores de 1 input

13-12-2009 23:13

Cria a variável com o valor do POST fora do while, depois você chama ela dentro.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Varios valores de 1 input

13-12-2009 23:24

não dá pois a variavel $php está sendo puxada do banco de dados.. se eu colocar o POST fora vai retornar sem valor tbm.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17738
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Varios valores de 1 input

14-12-2009 11:09

Acho que agora entendi. Você tem itens em uma tabela, como informou, codigo, produto e preço, ai você quer fazer um while para que você possa editar esses valores, depois você precisa atualizar eles, é isso?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Varios valores de 1 input

14-12-2009 13:26

Tipo, eu faço um while da tabela produtos pra pegar os valores $codigo e $produto $php.
O $codigo é o código do produto, $produto é o nome. e $php é o nome do input.

Blz, ai eu fiz uma tabela assim:

Codigo Produto Preço (aqui começa o while) $codigo $produto [ ](o nome desse input é name="<? echo "$php"; ?>") (aqui termina o while) [Enviar]

Ai na ora de receber está assim:

$verifica1 = mysql_query("SELECT * FROM produtos"); while($extrai1=mysql_fetch_array($verifica1)) { extract($extrai1); $v = $_POST['$php']; echo "$v <br>"; 

Por lógica isso era pra funcionar, mais o site ta recebendo o valor dos input em branco..
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17738
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Varios valores de 1 input

14-12-2009 14:37

Analiza o seguinte:

<?php for($i = 0; $i < 10; $i++) { echo $i; echo $_GET['1']."<br>"; } ?>

Quando você só carregar o documento, vai mostrar de 0 à 9, mas, se você passar por GET "?1=abc", vai mostrar o abc em cada linha.

Agora roda esse exemplo

<?php for($i = 0; $i < 3; $i++) { echo $i."<br>"; $v = $_GET[$i]; echo $v."<br>"; } ?>

Note no caso que não passei nada por GET, então vai mostrar 1, 2 e 3, separados por 2 br

Agora faça o seguinte teste:

?0=abc
?1=abc
?2=abc


Vai notar que vai mostrar o valor relativo em cada linha, simulando o seu

Só que no seu caso, você vai mudar para POST, e observa também se você coloca o value="" nos inputs, as vezes o valor não vem por causa disso.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Varios valores de 1 input

14-12-2009 22:17

eu entendi como você esplicou pra mim usar o for.
mas eu não entendi direite nem onde usa-lo...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17738
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Varios valores de 1 input

15-12-2009 09:02

O for é o mesmo que while no mysql, onde tem a repetição de dados.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 216
Nome: Luan
Sexo: Masculino
Localização: De traz do PC
Contato:

Varios valores de 1 input

15-12-2009 13:01

Sim a fução dele eu entendi, eu só não entendi como vc quer que eu use ele no código..
se é no input, ou no recebimento de valores..
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17738
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Varios valores de 1 input

15-12-2009 20:14

Esse exemplo foi só para mostrar os valores na tela, após o envio, se der certo, você aplica o UPDATE ai para atualizar os dados.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado