Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, eu tenho uma pagina que acessa o banco de dados via php, o banco é feito no phpMyAdmin e é bem simples, eu preciso alterar os dados de uma tabela com as seguintes colunas: id,nome,preco,categoria,url, só que nao tenho nem ideia como eu começo um codigo php pra isso, pra excluir eu ja consegui fazer mas pra alterar e atualizar as informações digitas do browser no banco nao to conseguindo se alguem puder me ajudar eu agradeceria, vou postar o codigo que acessa o banco de dados pra que se alguem puder me ajudar, dai fica mais facil.
codigo php:
<?php
$username = "root";
$password = "";
$hostname = "localhost";
// Conexão ao banco de dados.
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Não foi possível conectar ao MySQL!");
// Seleciona o banco de dados.
$selected = mysql_select_db("restaurante", $dbhandle)
or die("Não foi possível selecionar o banco de dados restaurante!");
//atualiza registro do banco de dados referente a produtos
if(!mysql_query("UPDATE Nome, Preco, Categoria, url_imagem FROM produto WHERE ID=" . $_GET("ID")){
die ('ERROR:'. mysql_error());
}
echo "<h1>Registro foi atualizado com sucesso!</h1>";
mysql_close($dbhandle);
?>
gostaria de saber se esse codigo ta certo, por que tenho um segundo codigo php que precisa desse codigo aqui, pra poder mostrar na tela os campos pro usuario poder alterar, alguem sabe tambem como eu faço isso, jogar o codgio na tela pro usuario poder alterar?
obrigado.
>
Pessoal, eu tenho uma pagina que acessa o banco de dados via php, o banco é feito no phpMyAdmin e é bem simples, eu preciso alterar os dados de uma tabela com as seguintes colunas: id,nome,preco,categoria,url, só que nao tenho nem ideia como eu começo um codigo php pra isso, pra excluir eu ja consegui fazer mas pra alterar e atualizar as informações digitas do browser no banco nao to conseguindo se alguem puder me ajudar eu agradeceria, vou postar o codigo que acessa o banco de dados pra que se alguem puder me ajudar, dai fica mais facil.
codigo php:
<?php
$username = "root";
$password = "";
$hostname = "localhost";
// Conexão ao banco de dados.
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Não foi possível conectar ao MySQL!");
// Seleciona o banco de dados.
$selected = mysql_select_db("restaurante", $dbhandle)
or die("Não foi possível selecionar o banco de dados restaurante!");
//atualiza registro do banco de dados referente a produtos
if(!mysql_query("UPDATE Nome, Preco, Categoria, url_imagem FROM produto WHERE ID=" . $_GET("ID")){
die ('ERROR:'. mysql_error());
}
echo "<h1>Registro foi atualizado com sucesso!</h1>";
mysql_close($dbhandle);
?>
gostaria de saber se esse codigo ta certo, por que tenho um segundo codigo php que precisa desse codigo aqui, pra poder mostrar na tela os campos pro usuario poder alterar, alguem sabe tambem como eu faço isso, jogar o codgio na tela pro usuario poder alterar?
obrigado.
olha, eu recomendo que você crie um arquivo de conexão separado, um form onde você digita os dados e um arquivo que salva
Por exemplo O arquivo de conexão ficaria assim
<?php
$username = "root";
$password = "";
$hostname = "localhost";
$sql=mysal_connect($hostname, $username, $password)or die("Erro ao conectar");
mysql_select_db("restaurante", $sql)or die("Erro ao selecionar banco");
?>
salve essa pagina como "connect.php"
O formulario ficaria assim:
<form action="salvar.php" method="post">
<label>Digite o nome <input type="text" name="nome" /></label><br>
<label>Digie o preço <input type="text" name="preco" /></label><br>
<label>Digite a categoria <input type="text" name="categoria" /></label><br>
<label>Digite a url <input type="text" name="url" /></label><br/>
<input type="submit" value="Salvar"/>
</form>
e salve essa arquivo com form.html
agora o arquivo salvar.php vai ser o arquivo contido no action do formulario
ou seja, o arquivo que vai ler e salvar o que foi digitado, esse ficaria assim:
<?php
$nome=$_POST['nome'];//aqui voce le o que foi digitado no campo nome, pelo metodo post do form
$preco=$_POST['preco'];//aqui voce le o preço
$categoria=$_POST['categoria'];//aqui voce le a ccategoria
$url=$_POST['url']; // aqui voce le a url digitada
//depois de ler vomos salvar, para isso inclua a conexao
include("connect.php");
//agora vomos salvar
$salvar="INSERT INTO restaurante (Nome, Preco, Categoria, url_imagem) VALUES ('$nome', '$preco', '$categoria', '$url')";
$salvar=mysql_query($salvar);
//agora vomos ver se salvou
if($salvar){
echo "Salvo";
}else{
echo "Erro ao salvar";
};
?>htp .. me Envia seu Codigo utilizando o CodeBB, esses menuzinhos encima da Publicação...
Seu update está errado..
UPDATE SET WHERE...
E tenta fazer um codigo simples, só pq você é um programador não quer dizer que você tem que fazer algo complicado..
mysql_query("UPDATE Nome, Preco, Categoria, url_imagem FROM produto WHERE ID=" . $_GET("ID");
Defina tudo em variavel
Não utiliza uma query diretamente em uma IF
se quizer que eu te ajude no codigo me envia ele mais simplificado.. pq assim é dificiu Lêr o Portugol...
Foi mal galera, vou postar os dois códigos, o que faz a conexão tambem:
codigo php de update:
<?php
$username = "root";
$password = "";
$hostname = "localhost";
// Conexão ao banco de dados.
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Não foi possível conectar ao MySQL!");
// Seleciona o banco de dados.
$selected = mysql_select_db("restaurante", $dbhandle)
or die("Não foi possível selecionar o banco de dados restaurante!");
//atualiza registro do banco de dados referente a produtos
if(!mysql_query("UPDATE Nome, Preco, Categoria, url_imagem FROM produto WHERE ID=" . $_GET("ID")){
die ('ERROR:'. mysql_error());
}
echo "<h1>Registro foi atualizado com sucesso!</h1>";
mysql_close($dbhandle);
?>
esse segundo codigo tem uma parte que faz uma tabela e exclui tambem, só ta faltando a parte que atualiza no banco que é o que estou querendo fazer:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<link type="text/css" rel="stylesheet" href="../CSS/estilo.css" />
<title>Lista de Produtos</title>
<script type="text/javascript">
function excluiProduto(ID){
window.location = "exclui_produto.php?id=" + ID;
}
</script>
</head>
<body>
<table>
<tr>
<td><b>Nome</b>
<td><b>Preço</b>
<td><b>Categoria</b>
<td><b>url_imagem</b>
<td> </td>
</tr>
<?php
$username = "root";
$password = "";
$hostname = "localhost";
// Conexão ao banco de dados.
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Não foi possível conectar ao MySQL!");
// Seleciona o banco de dados.
$selected = mysql_select_db("restaurante", $dbhandle)
or die("Não foi possível selecionar o banco de dados restaurente!");
// Executa query e exibe os resultados.
$result = mysql_query("SELECT * FROM produto ORDER BY Categoria, Nome", $dbhandle);
// Recupera os dados do banco.
while($row = mysql_fetch_array($result)){
?>
<tr>
<td><?php print($row{'Nome'});?></td>
<td><?php if($row{'Categoria'} == 'E') {
print('Entrada');
}
elseif($row{'Categoria'} == 'P') {
print('Prato principal');
}
elseif($row{'Categoria'} == 'B') {
print('Bebida');
}
elseif($row{'Categoria'} == 'S') {
print('Sobremesa');
}?>
</td>
<td align="right"><?php print('R$ ' . number_format($row{'Preco'}, 2, ',', '.'));?></td>
<td><?php print($row{'url_imagem'});?></td>
<td><a href='javascript:excluiProduto(<?php print($row{'ID'});?>);'>Excluir</a></td>
</tr>
<?php
}
?>
</table>
</body>
</html>
agora sim ta certinho, :)
vio hpt, para alterar informações com o UPDATE você ussa ele assim
UPDATE nome_da_tabela SET nome='$nome', preco='$preco', categoria='$categoria', url_imagem='$url' WHERE id='$id'Jackson, aquele post que você colocou dia 7, eu queria saber como faço pra colocar ele dentro de uma pagina a existente, é que ja tenho uma pagina que exclui os produtos em forma de tabela, aquela mesmo que eu postei ali dentro do BBcode, queria saber se tem como colocar um link tipo assim, atualizar, do lado do link ja existente excluir?
o codigo com o fatal erro :
Fatal error: Function name must be a string in C:\xampp\htdocs\restaurante\paginas\atualiza_produtos.php on line 21
é esse codigo aqui:
<?php
$username = "root";
$password = "";
$hostname = "localhost";
// Conexão ao banco de dados.
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Não foi possível conectar ao MySQL!");
// Seleciona o banco de dados.
$selected = mysql_select_db("restaurante", $dbhandle)
or die("Não foi possível selecionar o banco de dados restaurante!");
$Nome=$_POST['Nome'];//le o que foi digitado no campo nome, pelo metodo post do form
$Preco=$_POST['Preco'];//le o preço
$Categoria=$_POST['Categoria'];//le a ccategoria
$url_imagem=$_POST['url_imagem']; //le a url digitada
//agora vomos salvar
if(!mysql_query("UPDATE produto SET Nome='$Nome', Preco='$Preco', Categoria='$Categoria', url_imagem='$url_imagem' WHERE ID=" . $_GET('ID'))){
die ('ERROR:'. mysql_error());
}
//agora vomos ver se salvou
echo "<h1>Registro foi alterado com sucesso!</h1>";
mysql_close($dbhandle);
?>
se precisar de mais alguns dos codigos é só dar um toque, mas o fatal erro só ocorre nesse arquivo e é a unica linha que ta dando erro.
Verifique os nomes dos seus campos se estão com a primeira maiúscula, do banco também...
Coloque seu sql de update em uma variável e em seguida da um echo nela, o que aparecer apresente para nós,
e jogue diretamente esse sql no seu banco de dados para ver o que resulta.
Tenha certeza que está recuperando o $_GET['id'] corretamente, e
porque não manda esse valor do id por um campo hidden pra ficar tudo 'post' ?
mano esse codigo seu tah meio tenso pq nao usa um include pra puxa os dados da conexao...
tipo assim..
editarproduto.php
<?
while($imasters = mysql_fetch_array($result)){