PEGAR ID DA LINHA DA TABELA TD E ENVIAR PARA JANELA MODAL

02/09/2016

0

Boa Tarde.

Estou tendo um pequeno probleminha em resolver essa questão, preciso pegar o ID do produto que está na TABLE, e mandar esse ID para uma janela modal que fica na mesma pagina, preciso pegar esse id, para poder buscar no banco de dados as informações complementares e preencher os campos inputs, para que assim o usuario possa vizualizar as informações completa.

Segue codigo abaixo.

<table id="tablesorter">
<thead>
<tr>
<th class="tamanho75">ID</th>
<th class="tamanho300">Nome Produto</th>
<th class="tamanho80">Estoque</th>
<th class="tamanho80">Proço de Tabela</th>
<th class="tamanho90">Preço Mínimo de Venda</th>
<th class="tamanho90">Preço Maxímo de Venda</th>
<th>Ação</th>
</tr>
</thead>
<tbody>
<?php
include "../modulos/conexao.php";

$pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1;

$consulta = ("SELECT * FROM produto ORDER BY id");
$produtos = mysqli_query($conexao, $consulta);

$total = mysqli_num_rows($produtos);

$registros = 10;

$numPaginas = ceil($total/$registros);

$inicio = ($registros*$pagina)-$registros;

$consulta = "SELECT * FROM produto limit $inicio,$registros";
$produtos = mysqli_query($conexao,$consulta);
$total = mysqli_num_rows($produtos);

while ($campo = mysqli_fetch_array($produtos)) {
?>
<tr onclick="location.href = '#vizuModal';" style="cursor: pointer;">
<td class="tamanho75"><?php echo $campo['id'];?></td>
<td class="tamanho300"><?php echo $campo['nome_produto'];?></td>
<td class="tamanho80"><?php echo $campo['quantidade'];?></td>
<td class="tamanho80">R$ <?php echo $campo['preco_tabela'];?></td>
<td class="tamanho90">R$ <?php echo $campo['preco_venda_minimo'];?></td>
<td class="tamanho90">R$ <?php echo $campo['preco_venda_maximo'];?></td>
<td>
<form method="post" action="#editModal">
<button class="editar" type="submit">Editar</button>
<input type="hidden" name="id" value="<?php echo $campo['id'];?>"></input>
</form>
<form method="post" action="../modulos/delete_produto.php">
<button class="deletar" type="submit">Deletar</button>
<input type="hidden" name="id" value="<?php echo $campo['id'];?>"></input>
</form>
</td>
</tr>
<?php
}
?>
</tbody>
<div id="pagina">
<?php
if($pagina > 1) {
echo "<a href='produto.php?pagina=".($pagina - 1)."' class='controle'><b> << </b></a>";
}

for($i = 1; $i < $numPaginas + 1; $i++) {
$ativo = ($i == $pagina) ? 'numativo' : '';
echo "<a href='produto.php?pagina=".$i."' class='numero ".$ativo."'> <b>".$i."</b> </a>";
}

if($pagina < $numPaginas) {
echo "<a href='produto.php?pagina=".($pagina + 1)."' class='controle'><b> >> </b></a>";
}
?>
</div>
</table>

E essa é minha janela modal que preciso receber a informação do ID do produto:

<div id="vizuModal" class="modal">
<?php
include "../modulos/conexao.php";

$id = $_REQUEST['id'];

$query = "SELECT * FROM produto WHERE id=" . $id;

$result = mysqli_query($conexao, $query);

$row = mysqli_fetch_array($result);

$nome_produto = $row['nome_produto'];
$quantidade = $row['quantidade'];
$cod_barra = $row['cod_barra'];
$preco_tabela = $row['preco_tabela'];
$preco_venda_minimo = $row['preco_venda_minimo'];
$preco_venda_maximo = $row['preco_venda_maximo'];
$minimo_estoque = $row['minimo_estoque'];
$unidade = $row['unidade'];
$fornecedor = $row['fornecedor'];
?>
<div>
<a class="close" title="Fechar" href="#close">X</a>
<img class="ModalImg" src="galeria/produto.png"><h2>Cadastro de Produtos</h2>
<div id="separador"></div>
<form method="post" action="../modulos/update_produto.php?id=<?php echo $id?>">
<tr>
<td>
<label class="label2">Nome do Produto*:</label>
<input class="input2" type="text" name="nome_produto" placeholder="Obrigatório" size="30" value="<?php echo $row['nome_produto']; ?>"></input>
</td>
</tr>
<tr>
<td>
<label>Quantidade*:</label>

<input type="text" name="quantidade" placeholder="Obrigatório" size="20" value="<?php echo $row['quantidade']; ?>"></input>
</td>
<td>
<label class="label2">Código de Barras:</label>
<input id="codBarra" class="input2" type="text" name="cod_barra" placeholder="Código de Barras" size="30" value="<?php echo $row['cod_barra']; ?>"></input>
</td>
</tr>
<tr>
<td>
<label>Preço de Tabela*:</label>

<input type="text" name="preco_tabela" placeholder="0,00" size="15" value="<?php echo $row['preco_tabela']; ?>"></input>
</td>
<td>
<label class="label2">Preço de Venda Mínimo*:</label>
<input id="precoMin" class="input2" type="text" name="preco_venda_minimo" placeholder="0,00" size="15" value="<?php echo $row['preco_venda_minimo']; ?>" ></input>
</td>
<td>
<label id="precoVen">Preço de Venda Maxímo:</label>
<input class="Venpreco"type="text" name="preco_venda_maximo" placeholder="Opcional" size="15" value="<?php echo $row['preco_venda_maximo']; ?>" ></input>
</td>
</tr>
<tr>
<td>
<label id="MinEst">Mínimo em Estoque:</label>

<input id="EstMin" type="text" name="minimo_estoque" placeholder="Opcional" size="15" value="<?php echo $row['minimo_estoque']; ?>"></input>
</td>
<td>
<label id="unidade">Unidade:</label>

<input id="unidad" type="text" name="unidade" placeholder="Kg, Cx, Uni, etc." size="15" value="<?php echo $row['unidade']; ?>"></input>
</td>
</tr>
<tr>
<td>
<label id="fornece">Fornecedor</label>

<input id="fornecedor" type="text" name="fornecedor" placeholder="Opcional" size="60" value="<?php echo $row['fornecedor']; ?>"></input>
</td>
</tr>

<div>
<input type="submit" value="Salvar Usuário"/>
</div>
<div >
<a id="cancelar" href="#">Cancelar</a>
</div>
</form>
</div>

</div>
Matheus Rodrigues

Matheus Rodrigues

Responder

Posts

02/09/2016

Claudio Lopes

Provavelmente ao clicar nos botões de ação, você chama uma ajax que vai no banco pega as informações conforme o ID e popula os campos do seu formulario.
Responder

02/09/2016

Matheus Rodrigues

Boa Noite Din,

obrigado pelo retorno.

O problema é que não sei usar AJAX, poderia me auxiliar ??
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar