Ir para conteúdo

POWERED BY:

Arquivado

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

AyrtonMaia

[Resolvido] como fazer update de Mysql

Recommended Posts

Olá pessoal , desta vez minha dúvida é como alterar os dados de um banco de dados. Preciso que os dados apareçam dentro do value de um INPUT pra poder modificar os dados. Eu até que tentei fazer mais nao consegui.

 

preciso que selecione os dados da seguinte maneira: tenho varias tabelas, dentro delas tem um ID para cada registro, preciso que selecione a tabela a partir de uma variavel por POST ou por GET e para alterar os dados selecionar ele por ID. tentei fazer por get e post mais acho que meu problema realmente é no UPDATE do mysql. Seegue o código:

FAZER_EDIT.PHP

<table width="336" border="0" align="center" cellpadding="0" cellspacing="0">
<form method="post" action="../modulos/editar.php">
  <tr>
  <?php
include "../config.php";

$id = mysql_real_escape_string($_GET[id]);
$categoria = mysql_real_escape_string($_GET[categoria]);
$sql = "SELECT * FROM `{$categoria}` ORDER BY nome";
$resultado = mysql_query($sql) or die (mysql_error());
while ($linha=mysql_fetch_array($resultado)) {
	$nome = $linha["nome"];
	$valor = $linha["valor"];
}
?>
	<td width="96" class="TD">Nome:</td>
	<td width="240"><input name="nome" type="text" size="40" value="<?php echo "$nome"; ?>"></td>
  </tr>
  <tr>
	<td width="96" class="TD">Valor</td>
	<td width="240"><input name="valor" type="text" size="40" value="<?php echo "$valor"; ?>"></td>
  </tr>
  <tr>
	<td width="96" class="TD"></td>
	<td width="240" class="TD"><input name="Editar" type="submit" id="Editar" style="background-color:#999999; border:0;" value="Editar"></td>
  </tr>
</form>
</table>

EDITAR.PHP

<?php
include "../config.php";
$nome = $_POST[nome];
$valor = $_POST[valor];
$id = $_POST[id]; <<< seleciona o id do registro
$categoria = $_POST[categoria]; <<<seleciona a tabela do registro

$query = mysql_query("UPDATE $categoria SET nome=$nome, valor=$valor WHERE nid=$id)
 or die(mysql_error());
?>

tenho que admitir que o códig está uma %$&*$%$&*¨()_* mais é porque ainda estou iniciando no PHP, não sei praticamente nada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não está colocando aspas ao redor das strings... você também esqueceu de fechar a string toda do update (faltou um " no final)

 

Tente essa sintaxe:

$query = mysql_query("UPDATE `{$categoria}` SET `nome` = '{$nome}', `valor` = '{$valor}' WHERE `nid` = {$id}")

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.