Ir para conteúdo

Arquivado

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

36177983

Update

Recommended Posts

Bom, nao quero tomar o tempo de ninguem portanto serei breve, minha cliente quer que eu coloque um botao para edção de produtos, essa edção deve sair de uma lista de produtos (segue foto da pagina) "pedidos.php" e com um link ir para a pagina de cadastro de produtos onde seja feita a edção "produto.php" atualmente a pagina de cadastro de produto se encontra assim:

 

 

<h2>Novo Produto</h2>

<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
<?php
require_once "config.php";
?>
<?php
$query2 = 'SELECT * FROM av_nomes WHERE id='.$_GET['id_nomes'];
$result = mysql_query($query2, $conexao);
$row = mysql_fetch_array($result, MYSQL_ASSOC);
echo '<table><tr>';
echo '<td class="white"><h3>Nome:</h3> ' . $row['nome'] . '</td></tr>';
echo '</tr></table>';
?>
</br>
<div id="cadastro">
<form method="post" action="index.php?pag=produto.php">
<table id="cad_table">
<tr><td>Codigo do Cliente: </td>
<td><input type="text" name="id_nomes" id="id_nomes" class="txt" value="<?php echo $_GET['id_nomes']; ?>" readonly/> </td></tr>
<tr><td>Data: </td>
<td><input type="text" name="data" id="data" class="txt" OnKeyUp="mascaraData(this);" maxlength="10" /> </td></tr>
<tr><td>Campanha: </td>
<td><input type="text" name="camp" id="camp" class="txt" /> </td></tr>
<tr><td>Codigo: </td>
<td><input type="text" name="cod" id="cod" class="txt" /> </td></tr>
<tr><td>Quantidade: </td>
<td><input type="text" name="qnt" id="qnt" class="txt" /> </td></tr>
<tr><td>Preço: </td>
<td><input type="text" name="preco" id="preco" class="txt" OnKeyUp="moeda(this);" /> </td></tr>
<tr><td>Desconto %: </td>
<td><input type="text" name="desconto" id="desconto" class="txt" /> </td></tr>
<tr><td>Descrição: </td>
<td><input type="text" name="descr" id="descr" class="txt" /> </td></tr>
<tr><td colspan="2">
<input type="submit" name="produtos" id="btn" value="Salvar" /></td></tr>
</table>
</form>
</div>
<?php
if(@$_POST['produtos'] == 'Salvar'){
$data = $_POST['data'];
$camp = $_POST['camp'];
$id_nomes = $_POST['id_nomes'];
$cod = $_POST['cod'];
$qnt = $_POST['qnt'];
$preco = $_POST['preco'];
$desconto = $_POST['desconto'];
$descr = $_POST['descr'];
if(empty($cod)){
echo "<script>alert('Preencha todos os campos para adicionar um produto.'); history.back();</script>";
} elseif(empty($qnt)){
echo "<script>alert('Preencha todos os campos para adicionar um produto.'); history.back();</script>";
} elseif(empty($preco)){
echo "<script>alert('Preencha todos os campos para adicionar um produto.'); history.back();</script>";
} else {
if(!mysql_query("insert into av_produtos (cod, qnt, descr, id_nomes, preco, desconto, camp, data) values ('$cod', '$qnt','$descr', '$id_nomes', '$preco', '$desconto', '$camp', '$data')", $conexao)){echo mysql_error($conexao);}
echo "<script>alert('Produto Adicionado'); history.back();</script>";
echo "<meta http-equiv='refresh' content='0, url=index.php?pag=produto.php'>";
}
}
?>

 

quero adicionar um botao para editar somente os campos da tabela av_produtos, porem este deve pegar o ID do cliente da tabela av_nomes.

 

Abaixo segue o codigo da lista de produtos.

 

 

 

<h2>Todos Os Pedidos</h2>

<?php
require_once "config.php";
echo '<table width="80%">';
echo '<thead><tr>';
echo '<th></th>';
echo '<th>Data</th>';
echo '<th>Campanha</th>';
echo '<th>Cliente</th>';
echo '<th>Codigo</th>';
echo '<th>Quant.</th>';
echo '<th>Preço</th>';
echo '<th>Desc.</th>';
echo '<th>Entrega</th>';
echo '<th>Contato</th>';
echo '<th>%</th>';
echo '</tr></thead>';
echo '<tbody>';
$query2 = ' SELECT av_nomes.nome, av_nomes.tel, av_nomes.end, av_produtos.cod, av_produtos.qnt, av_produtos.preco, av_produtos.descr, av_produtos.desconto, av_produtos.camp, av_produtos.data
FROM av_nomes
INNER JOIN av_produtos
ON av_nomes.id=av_produtos.id_nomes
ORDER BY av_produtos.data';
if(!$result = mysql_query($query2, $conexao)) {echo '##';}
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo '<tr>';
echo '<td class="white">' . '<a href="#"><img src="img/edita.png" widht="25"height="25"></a>' . '</td>';
echo '<td class="gray">' . $row['data'] . '</td>';
echo '<td class="white">' . $row['camp'] . '</td>';
echo '<td class="gray">' . $row['nome'] . '</td>';
echo '<td class="white">' . $row['cod'] . '</td>';
echo '<td class="gray">' . $row['qnt'] . '</td>';
echo '<td class="white">' . $row['preco'] . '</td>';
echo '<td class="gray">' . $row['descr'] . '</td>';
echo '<td class="white">' . $row['end'] . '</td>';
echo '<td class="gray">' . $row['tel'] . '</td>';
echo '<td class="white">' . $row['desconto']. '</td>';
echo '</tr>';
}
echo '</tbody></table>';
?>

 

como ainda sou meio leigo em PHP estou apanhando muito para conseguir usar o UPDATE mas pelo que consegui segue os dados:

 

 

<?php

require_once "config.php";
UPDATE av_produto
SET data='$data', camp='$camp', cod='$cod', qnt='$qnt', preco='$preco', desconto='$desconto', desc='$desc', descr='$descr'
WHERE id_nomes= '$id_nomes'; // (nao sei se aqui esta certo)
?>

 

Segue abaixo fotos da pagina (designer) e das tabelas do BD av_nomes (cliente) av_produtos (produtos).

 

 

Tabela av_nomes

 

_000_1.png

 

 

Tabela av_produtos

 

_111.png

 

Designer da pagina

 

_1010.png

 

A imagem antes do campo data é referente ao link para a edição da linha, porem os campos que devem ser edtados sao apenas os da tabela de produtos.

 

Se alguem puder me ajudar, agradeço muito, se precisar de mais detalhes, skype / email -> thiago3617@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas o meu problema é para fazer a alteração no banco de dados não consigo fazer a leitura dos campos e a alteração e depois o envio dinovo, para salvar por cima do antigo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom acredito que já saiba linkar o id do produto no seu ícone.

Tipo seu ícone terá o link editar_produto.php?id=7 (sete código do produto)

 

Você poderia, como eu faço, direciono a página de cadastro de produtos onde:

<?php 
$id = $_GET["id"];
$sql = mysql_query("SELECT id, nomeproduto FROM nometabelaproduto WHERE id_produto = $id");
	while( $ln = mysql_fetch_array($sql) )	{
	$id =  $ln["id"];
	$nomeproduto	 =  $ln["nomeproduto"];
?>

<form action="cad_produto.php" method="post">

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

*demais campos
</form>

Assim seus campos do cadastro de produto resgatam os dados da base e você pode alterar e direcionando em outro arquivo editar_produto.php no action do form, ai sim executando o update dos campos, como se fosse inseri-los.

 

será que entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, eu quebrei bastante a cabeça aqui e fussei em diversos forums e acabei conseguindo fazer o botao para editar, porem não sei oque fiz e agora quando vou cadastrar um produto o nome do cliente não aparece onde deveria, nao esta lendo a " $row['nome'] " vou mandar o codigo da pagina se alguem puder ajudar

 

 

<h2>Novo Produto</h2>

<meta http-equiv="Content-Type" content="text/html"; charset="utf-8" />
<?php
require_once "config.php";
$id = ($_POST['id']!="") ? $_POST['id'] : $_GET['id'];
if(@$_POST['b_salvar'] == 'Salvar'){
$data = $_POST['data'];
$camp = $_POST['camp'];
$id_nomes = $_POST['id_nomes'];
$cod = $_POST['cod'];
$qnt = $_POST['qnt'];
$preco = $_POST['preco'];
$desconto = $_POST['desconto'];
$descri = $_POST['descri'];
if(empty($cod)){
echo "<script>alert('Preencha todos os campos para adicionar um produto.'); history.back();</script>";
} elseif(empty($qnt)){
echo "<script>alert('Preencha todos os campos para adicionar um produto.'); history.back();</script>";
} elseif(empty($preco)){
echo "<script>alert('Preencha todos os campos para adicionar um produto.'); history.back();</script>";
} else {
if(!mysql_query("insert into av_produtos (cod, qnt, descri, id_nomes, preco, desconto, camp, data) values ('$cod', '$qnt','$descri', '$id_nomes', '$preco', '$desconto', '$camp', '$data')", $conexao)){echo mysql_error($conexao);}
echo "<script>alert('Produto Adicionado'); history.back();</script>";
echo "<meta http-equiv='refresh' content='0, url=index.php?pag=produto.php'>";
}
} elseif(@$_POST['b_edita'] == 'Editar'){
$data = $_POST['data'];
$camp = $_POST['camp'];
$cod = $_POST['cod'];
$qnt = $_POST['qnt'];
$preco = $_POST['preco'];
$desconto = $_POST['desconto'];
$descri = $_POST['descri'];
$query3 = ' UPDATE av_produtos
SET data = "'.$data.'", camp = "'.$camp. '", cod = "'.$cod. '",
qnt = "'.$qnt. '", preco = "'.$preco.'", desconto = "'.$desconto. '",
descri = "'.$descri.'"
WHERE id= '.$id;
echo $query3;
if(!$result = mysql_query($query3, $conexao)) {echo 'Erro de Alteração'.$query3;}
die('<script type="text/javascript">window.location.href="index.php?pag=pedidos.php"</script>');
}
require_once "config.php";
if($id!=""){$query2 = ' SELECT av_nomes.nome, av_produtos.id, av_produtos.cod, av_produtos.qnt, av_produtos.preco, av_produtos.descri, av_produtos.desconto, av_produtos.camp, av_produtos.data
FROM av_produtos
INNER JOIN av_nomes
ON av_produtos.id_nomes=av_nomes.id
WHERE av_produtos.id='.$id;
if(!$result = mysql_query($query2, $conexao)) {echo 'Erro de Leitura'.$query2;}
$row = mysql_fetch_array($result, MYSQL_ASSOC);}
//////////////////////////////////////////// ESTA VARIAVEL ABAIXO NÃO ESTA SENDO EXIBIDA /////////////////////////////////////////////
echo '<table><tr>';
echo '<td class="white"><h3>Nome:</h3>'.$row['nome'].'</td></tr>';
echo '</tr></table>';
//////////////////////////////////////////// ESTA VARIAVEL ACIMA NÃO ESTA SENDO EXIBIDA /////////////////////////////////////////////
?>
</br>
<div id="cadastro">
<form method="post" action="index.php?pag=produto.php">
<input type="hidden" name="id_nomes" value="<?php echo $_GET['id_nomes']; ?>">
<table id="cad_table">
<tr><td>Codigo do Cliente: </td>
<td><input type="text" name="id" id="id" class="txt" value="<?php echo $_GET['id']; ?>" readonly/> </td></tr>
<tr><td>Data: </td>
<td><input type="text" name="data" id="data" class="txt" value="<?php echo $row['data']; ?>" OnKeyUp="mascaraData(this);" maxlength="10" /> </td></tr>
<tr><td>Campanha: </td>
<td><input type="text" name="camp" id="camp" class="txt" value="<?php echo $row['camp']; ?>" /> </td></tr>
<tr><td>Codigo: </td>
<td><input type="text" name="cod" id="cod" class="txt" value="<?php echo $row['cod']; ?>" /> </td></tr>
<tr><td>Quantidade: </td>
<td><input type="text" name="qnt" id="qnt" class="txt" value="<?php echo $row['qnt']; ?>" /> </td></tr>
<tr><td>Preço: </td>
<td><input type="text" name="preco" id="preco" class="txt" value="<?php echo $row['preco']; ?>" OnKeyUp="moeda(this);" /> </td></tr>
<tr><td>desconto %: </td>
<td><input type="text" name="desconto" id="desconto" class="txt" value="<?php echo $row['desconto']; ?>" /> </td></tr>
<tr><td>descrição: </td>
<td><input type="text" name="descri" id="descri" class="txt" value="<?php echo $row['descri']; ?>" /> </td></tr>
<tr><td colspan="2">
<input type="submit" name="b_salvar" id="btn" value="Salvar" /></td></tr>
<tr><td colspan="2">
<input type="submit" name="b_edita" id="btn" value="Editar" /></td></tr>
</table>
</form>
</div>

 

estou citando pelo fato de o espaçamento no codigo ficar muito extenso e complica a leitura.. quando cito ele tira os espaços.. coloquei uma linha de comentario onde acho que começa o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim e veja o que mostra:

 

?> //encerra a tag php

 

<table><tr>
<td class="white"><h3>Nome:</h3><?php echo $row["nome"];?></td></tr>
</tr></table>
Poste o retorno,

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.