Ir para conteúdo

POWERED BY:

Arquivado

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

Andre Schmidt_130237

aqui com check box e campo de texto

Recommended Posts

Boa tarde pessoal do fórum, estou fazendo um painel de controle de estoque em php e estou com problemas na hora de cadastrar a quantidade de produtos que a pessoa tem, o painel funciona da seguinte maneira, no banco de dados esta cadastrado os produtos padrão que o usuário pode ordenar na conta dele, os produtos são listados usando while e na lista em cada resultado tem um campo de texto e um check box com o id de cada produto inserido nele para que possa cadastrar no banco e mostrar depois,na hora de cadastrar eu uso o foreach para os checkboxes e utilizo o $_post para pegar o valor do campo de texto, mas eu vi que ele não esta pegando o valor do campo de texto, aqui está o codigo que cadastra no banco :

 

<? include'conexao.php'; ?>
<?
$user_id = $_POST['user_id'];
$tantos = $_POST['quantidade'];

if (isset($_POST['marcar'])) {

foreach($_POST["marcar"]  as $marcar)

{
$sql = "insert into meus_produtos (produto_id,user_id,quantidade)
values
('$marcar','$user_id','$tantos')";
mysql_query($sql);

}
}
?>

 

e aqui está o do campo que mostra os produtos que podem ser escolhidos:

 

<?
session_start()
?>
<title>Mk - Produtos</title>
<? include'conexao.php'; ?>
<? include'header.php'; ?>
<script>
function checa(form){

// quantidade a ser usada
var q=0;

// os checkbox do form
var checkbox = form['check[]'];

// contando o número de checkbox
for(var i=0; i < checkbox.length; i++){
checkbox[i].checked?q++:null;
}

// somando e mostrando os selecionados
alert(q + " selecionado(s)");
}
</script>
<?
$id_user = $_SESSION['ses_cod'];

$sql = "select * from users where id = '$id_user' ";
$res = mysql_query($sql);
$lin = mysql_fetch_array($res);

?>

<table width="1000" border="0" align="center">
 <tr>
   <td height="110" valign="top" bgcolor="#FFFFFF"><table width="1000" border="0">
     <tr>
       <td width="194">Cod. Produto</td>
       <td width="271">Produto</td>
       <td width="215">Tipo</td>
       <td width="302">Valor (por unidade)</td>
     </tr>
   </table>
     <form id="form2" name="form2" method="post" action="cad_meusprodutos.php">
       <table width="1000" border="1"><?
         $sql  =  "select * from produtos order by id DESC ";
	  $query2 = mysql_query($sql);
	  while  ( $linha = mysql_fetch_assoc($query2) ) {


	  ?>
         <tr>

           <td width="20" ><input type="checkbox" name="marcar[]" id="marcar[]"
           value="<? echo $linha['id']; ?>" />
             <label for="checkbox"></label></td>
           <td width="172"><? echo $linha['cod_produto']; ?></td>
           <td width="272"><? echo $linha['nome']; ?></td>
           <td width="252"><? echo $linha['tipo']; ?></td>
           <td width="157"><? echo $linha['valor']; ?>
                        <input name="id_prod" type="hidden" id="id_prod" value="<? echo $linha['id'] ?>" />
           <hr /></td>
           <td width="87"><input type="text" name="quantidade[]"  /></td>

         </tr> 
         <? } ?>
       </table>
       <p>
            <input type="image" src="imagens/salvar_editar.png" width="110" height="40" name="button" id="button" value="Enviar" />
         <input type="hidden" name="user_id" id="user_id" value="<? echo $lin['id']; ?>" />
       </p>
     </form></td>
 </tr>
</table>

 

se alguem puder me ajudar eu agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei transformar o campo quantidade em array para dpois passa para string novamente para ver se cadastrava no banco mas sem sucesso sendo array ou não, quando uso o campo quantidade com array e transformo em string ele junta os dois ou mais valores digitados no campo de texto e cadastra tudo em um ou mais registros no banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei transformar o campo quantidade em array para dpois passa para string novamente para ver se cadastrava no banco mas sem sucesso sendo array ou não, quando uso o campo quantidade com array e transformo em string ele junta os dois ou mais valores digitados no campo de texto e cadastra tudo em um ou mais registros no banco

 

Que eu saiba só é possível inserir um valor em um campo de texto, me parece que usar array no seu caso é desnecessário. Mas como você disse que mesmo sem usar você ainda não consegue retornar a string e mesmo que usasse você deveria retornar em ['quatidade'][0], então o problema deve estar em outro lugar.

 

Você poderia colocar este código no topo do arquivo que processa o formulário, processar o formulário e postar o resultado aqui.

var_dump($_POST);

Compartilhar este post


Link para o post
Compartilhar em outros sites

o resultado deu esse codigo aki

 

array(7) { ["id_prod"]=> string(1) "5" ["quantidade"]=> string(0) "" ["marcar"]=> array(2) { [0]=> string(1) "7" [1]=> string(1) "6" } ["button_x"]=> string(2) "45" ["button_y"]=> string(1) "5" ["button"]=> string(6) "Enviar" ["user_id"]=> string(1) "2" }

Compartilhar este post


Link para o post
Compartilhar em outros sites

["quantidade"]=> string(0) ""

 

Isso mostra que o campo quantidade foi recebido pelo script, mas ele está vazio (string com largura 0). Você o preencheu? Se não, tente preenche-lo para ver.

 

 

Coloque o campo da maneira correta, parece que você está usando XHTML

<input type="text" name="quantidade" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora estou vendo uma coisa no seu formulário... onde está o botão para submeter o formulário? Tem de haver um botão para submeter o formulário, mas não estou vendo isso no seu código...

 

<input type="submit" name="submit" value="Enviar formulario" />

 

Oh... lembrei... o tipo imagem tambem funciona como submit. Mas ninguém mais usa isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito improvável...

 

Mas tire a prova: crie um novo arquivo e coloque nele o seguinte código. Rode esse arquivo no navegador e escreva no campo quantidade o valor "500".

 

Eu fiz isso aqui e retornou:

array(6) { ["id_prod"]=> string(1) "1" ["quantidade"]=> string(3) "500" ["button_x"]=> string(2) "67" ["button_y"]=> string(2) "18" ["button"]=> string(6) "Enviar" ["user_id"]=> string(1) "1" }

 

 

Faça aí e veja, se retornou o mesmo que aqui então o problema não está no XAMPP:

 

<?php

var_dump($_POST);


?>

<form id="form2" name="form2" method="post" action="">
       <table width="1000" border="1"><?php

			$linha = array(
				'cod_produto' => "1",
				'nome' => "n",
				'tipo' => "t",
				'valor' => "3",
				'id' => "1",

			);


                 ?>
         <tr>

           <td width="20" ><input type="checkbox" name="marcar" id="marcar"
           value="<? echo $linha['id']; ?>" />
             <label for="checkbox"></label></td>
           <td width="172"><?php echo $linha['cod_produto']; ?></td>
           <td width="272"><?php echo $linha['nome']; ?></td>
           <td width="252"><?php echo $linha['tipo']; ?></td>
           <td width="157"><?php echo $linha['valor']; ?>
                        <input name="id_prod" type="hidden" id="id_prod" value="<?php echo $linha['id'] ?>" />
           <hr /></td>
           <td width="87">Quantidade:<input type="text" name="quantidade" /></td>

         </tr> 
       </table>
       <p>
            <input type="image" src="imagens/salvar_editar.png" width="110" height="40" name="button" id="button" value="Enviar" />
         <input type="hidden" name="user_id" id="user_id" value="<?php echo $linha['id']; ?>" />
       </p>
     </form>

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.