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

(Resolvido) Checkbox dentro de um Frame de consulta


Daygdson

Pergunta

Boa tarde a todos,

Sou novo no fórum e estou iniciando em php. Tenho uma dúvida sobre o checkbox utilizado em consultas feitas ao Bd, exemplo: - tenho um formulário em html, dentro deste existe uma código em php na qual faz-se uma query de seleção a uma tabela e retorna estes dados dentro de um frame em um formulário. Gostaria que este dados informados fossem selecionados em um checkbox individual por linha e esta seleção via checkbox eu pude-se fazer um insert dentro de outra tabela no bd. basicamente é isso se precisarem do scrip posto aqui.

Abraços !!

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Olá Jonathan Queiroz, obrigado pela atenção !

vamos lá, estou quebrando a cabeça já alguns dias... no meu formulario estou buscando dados de uma tabela inteira e é mostrado em um iframe dentro do formulario html, cada linha é um dado da tabela com suas respectivas colunas. esses dados são mostrados atravéz de um laço while e informados por um array em cada campo que vai ser mostrado no formulario, consegui até colocar o checkbox para cada linha retornada do select e os dados são enviados para um arquivo php. Este arquivo está recebendo os dados da seleção do checkbox atravéz de um foreach até aqui beleza (aprendi hoje atravéz de pesquisa na net). O problema é que a informação que recebo é somente a que é informado no array conforme o exemplo :<input type="checkbox" name="produto[]" value=<?echo $array['codigo];?>"/>, os demais dados dos campos não são mostrados através do input somente pelo array.

exemplo: <td width="0%" height="0" align="left"><font face="Arial" size="2"><?echo $array['produto'];?></font></td>

Espero que tenha entendido e se puder me dar um dica ou um exemplo de como posso fazer agradeço desde já.

Lembrando que sou iniciante em php e ainda terei muitas dúvidas..heheh

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

  • 0

Olá rickayron, beleza ! Desculpe-me fui tentar explicar acabei enrolando tudo... seguinte segue o script abaixo

consulta.php

<?

$sql_produto = "SELECT * FROM produtos";

$produto = $_POST['produto'];

if($pesquisar == 'sim')

$sql_produto = $sql_produto." AND produto LIKE '%$pesq%'";

$sql_produto = $sql_produto;

$sql_produto = mysql_query($sql_produto) or die("Erro no SQL: ".mysql_error());

?>

<form name=frm_produto" method="post" action="verificacheckbox.php" >

<?

if(mysql_num_rows($sql_produto) > 0)

{

?>

<table width="100%" border="0" cellspacing="1" cellpadding="0" align="center">

<tr bgcolor="#DEB887" >

<td width="0%" >

<div align="center"></div> // coluna para checkbox

</td>

<td width="5%" >

<div align="center"><b><font face="Arial" size="2">Codigo</font></b></div>

</td>

<td width="20%">

<div align="center"><b><font face="Arial" size="2">Produto</font></b></div>

</td>

<td width="20%">

<div align="center"><b><font face="Arial" size="2">Descrição</font></b></div>

</td>

<td width="0%" colspan="0">

<div align="center"><b><font face="Arial" size="2">Qtde</font></b></div>

</td>

<td width="15%">

<div align="center"><b><font face="Arial" size="2">Modelo</font></b></div>

</td>

<td width="15%">

<div align="center"><b><font face="Arial" size="2">Grupo</font></b></div>

</td>

<td width="15%">

<div align="center"><b><font face="Arial" size="2">Linha</font></b></div>

</td>

</tr>

<?

while($array_produto = mysql_fetch_array($sql_produto))

{

?>

<tr bgcolor="ebebeb">

<td width="0%" height="0" align="center"><input type="checkbox" name="produto[]" value="<?echo $array_produto['codprod];?>"/></td> /* o checkbox para aparecer em todas as linhas retornadas da consulta ao banco *\

<td width="0%" height="0" align="center"><font face="Arial" size="2">

<?echo $array_produto['codprod'];?>

</font></td>

<td width=0%" height="0" align="left"><font face="Arial" size="2">

<?echo $array_produto['produto];?>

</font></td>

<td width="0%" height="0" align="left"><font face="Arial" size="2">

<?echo $array_produto['descricao'];?>

</font></td>

<td width=0%" height="0" align="left"><font face="Arial" size="2">

<?echo $array_produto['qtde];?>

</font></td>

<td width="0%" height="0" align="left"><font face="Arial" size="2">

<?echo $array_produto['modelo'];?>

</font></td>

<td width=0%" height="0" align="left"><font face="Arial" size="2">

<?echo $array_produto['grupo];?>

</font></td>

<td width="0%" height="0" align="center"><font face="Arial" size="2">

<?echo $array_produto['linha'];?>

</font></td>

</tr>

<?

}

?>

</table>

<br />

<input type=submit" name="enviar" value="enviar"/>

</form>

<?

} /* fecha mysql_num_rows > 0 */

else{

echo "<br><br><div align=center><font face=Arial size=2>

Desculpe, mais não achei nada<br><br></font></div>";

}

?>

<br/>

</body>

</html>

validacheckbox.php

<?

// Verifica se usuário escolheu algum produto

if(isset($_POST["produto]))

{

echo "Produto Selecionados:<BR>";

// Faz loop pelo array dos produtos

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

{

echo "- " . $produto . "<BR>";

}

}

else

{

echo "Você não escolheu produto!<br>";

}

?>

Pergunta : Quero que ao invéz de mostrar-me somente o dado do array do checkbox ele possa selecionar todos os dados da linha para que eu possa inserir em outra tabela entendeu... valeu pela ajuda !

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

  • 0

deixe min ver se entendir

os checks aparecem

enviam seu values

1voce quer que ao selecionar um selecione todos checks ou voce quer indentificar a tabela a qual esse check pegou para inserir em outra tabela

2 ou ainda voce quer inserir os dados dos check em um banco

1 use uma funçao java script ao selecionar um seleciona todos

segundo

ele envia um array

use for para inserir

$dados;

for($i=0; $i<count($dados);$i++){

$mysql_query("insert into

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Rickayron,

Desculpa a demora para responder, tava fora esses dias... respondendo a sua pergunta, não quero selecionar tudo a consulta que aparecer no meu frame... vai aparecer dezenas de linhas e o usuário vai selecionar algumas somente, no script validacheckbox quero que ele pegue o id que vai retornar fazer uma comparação em um "select" ai sim mostrar os dados da seleção. Por exemplo

Esse é um script de exemplo, não sei aonde estou errando aqui .

$variavel = 'produto'; /* Produto será o código retornado da seleção do checkbox e quero comparar com um select para trazer todas as informações que preciso *\

<?

if(isset($_POST["produto"]))

{

// Faz loop pelo array dos produtos

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

{

// aqui quero fazer a comparação !!

$sql ="SELECT codigo, produto, qtde FROM produto WHERE id = $produto";

$res1 = mysql_query($sql);

$res2 = mysql_num_rows($res);

if ($res2 >= 0) // verifica quantas linhas teve a query executada, se for zero o produto não foi encontrado

{

echo "Produto não encontrado $produto";

}

else

{

echo "Produto(s) Selecionado(o)"; /* abaixo desta mensagem deverá aparecer os dados dos produtos selecionado.

$registro=mysql_fetch_row($res1);// seta a linha de registro e depois coloca cada campo em uma variavel de retorno

$codprod=$registro[0];

$produto=$registro[1];

$qtde=$registro[2];

?>

Não estou conseguindo incluir o "foreach" no script para fazer este retorno, se coloco "echo" abaixo do foreach conforme script acima ele vai retornar o valor do array especificado na linha do checkbox no script consulta.php acima, e não consigo fazer esta comparação de um select para retornar todos os dados da linha, se você tiver uma idéia de como posso fazer isso ... valeu !

Link para o comentário
Compartilhar em outros sites

  • 0

Olá galera, desculpe-me a demora pra responder, resolvi o problema da seguinte maneira

<table width="70%" border="0" cellspacing="0" cellpadding="0" align="center">

<tr bgcolor="#DEB887" >

<td width="0%" >

<div align="center"><b><font face="Arial" size="2">Codigo</font></b></div>

</td>

<td width="100%">

<div align="center"><b><font face="Arial" size="2">Produto</font></b></div>

</td>

<td width="0%" colspan="0">

<div align="center"><b><font face="Arial" size="2">Qtde</font></b></div>

</td>

<td width="0%">

<div align="center"><b><font face="Arial" size="2">Modelo</font></b></div>

</td>

<td width="0%">

<div align="center"><b><font face="Arial" size="2"></font></b></div>

</td>

</tr>

</table>

<?

if(isset($_POST["produto"]))

{

foreach($_POST["produto"] as $produto)// Faz loop pelo array dos produtos

{

$sql_produto = "SELECT codprod, produto, qtde, modelo FROM cad_produtos WHERE codprod ='$produto'";

$sql_produto = $sql_produto;

$sql_produto = mysql_query($sql_produto) or die("Erro no SQL: ".mysql_error());

if(mysql_num_rows($sql_produto) == 0)

{

echo "Produto não encontrado $produto";

}

else

{

$registro=mysql_fetch_row($sql_produto);// seta a linha de registro do cliente e depois coloca cada campo em uma variavel

$codprod=$registro[0];

$produto=$registro[1];

$qtde=$registro[2];

$modelo=$registro[3];

?>

<table width="70%" border="0" cellspacing="1" cellpadding="0" align="center">

<tr bgcolor="#DEB887" >

<td width="0%" height="0" align="center"><input type="checkbox" name="produto[]" value="<?echo $chek;?>"/>

</td>

<td width="0%" >

<input type="text" name="codprod" value="<?php echo $codprod;?>"/>

</td>

<td width="%">

<input type="text" name="produto" value="<?php echo $produto;?>"/>

</td>

<td width="0%" colspan="0">

<input type="text" name="qtde" value="<?php echo $qtde;?>"/>

</td>

<td width="%">

<input type="text" name="modelo" value="<?php echo $modelo;?>"/>

</td>

</tr>

</table>

</form>

<?

}

}

}

else

{

echo "Você não escolheu produto!";

}

}

?>

Obrigado pela ajuda...Vlw !! (Moderadores por favor, podem encerrar o tópico) não sei como fazer....heheheeh

Editado por Daygdson
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...