Ir para conteúdo

Arquivado

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

dinho95

[Resolvido] Editando registros MYSQL, por Formulario PHP.

Recommended Posts

entao, eu procurei pelo forum e no google,e nao achei exatamente como eu queria..

 

Como eu posso fazer para tipo fazer a vizualiazacao normal, dai um botao no lado escrito EDITAR..

e quando apertace, apareceria um formulario com as informacoes para poder atualizar...

 

eu sei que e simples, but! eu sou novo em php, e to pedindo ajuda pra voces =D

 

Fico grato!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola "dinho95" você já tem o resultado do banco de dados?

 

Já fez o select?

 

Você pode fazer algo assim

 

<form action="editar.php" method="post" >
<input type="hidden" name="id" value="<?php print $id; ?>"
<input type="hidden" name="nome" value="<?php print $nome; ?>"
<input type="hidden" name="email" value="<?php print $email; ?>"
<input type="submit" value="Editar" >
</form>

// e no editar.php
$id = $_POST['id'];
$nome = $_POST['nome'];
$email = $_POST['email'];

$query("UPDATE <NOME DA TEBELA> SET nome=$nome, email=$email'WHERE id=$id ");

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou tentar explicar da forma mais simples possível.

Você irá criar 2 páginas uma editar.php e outra salvar.php

 

No botão editar você irá enviar o ID da linha que irá editar do BD

algo desse tipo

 

<?php echo "<a href='editar.php?id=". $row['id'] ."> Editar </a>"; ?>

 

na editar.php fica assim:

<?php
$id = $_GET['id'];

$busca = mysql_query("SELECT * FROM tabela WHERE id = $id"); 
$row = mysql_fetch_arrow($busca);
?>
<form method="POST" action="salvar.php">

<input type="text" value="<?php echo $row['campo']; ?>" name="campo" />
<input type="hidden" value="<?php echo $id; ?>" name="id" />

<input type="submit" value="editar" />

</form>

salvar.php

<?php

$campo = $_POST['campo'];
$id = $_POST['id'];

mysql_query("UPDATE tabela SET campo = '$campo' WHERE id = $id");
print "Editado com sucesso";

?>

Fiz agora de cabeça tem que dar uma testada ve se não passei batido por nada.

mas qualquer coisa é só postar ai :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

o select eu nao fiz ainda, eu so fiz o da vizualizacao...

 

// Seleciona a TABELA
	 $sql = "select * from goleiro ORDER BY id desc";
	 $executar = mysql_query ($sql);
 // Da a repeticao, e a vizualicao dos jodares.
 $excluir = mysql_query("delete from goleiro where id='id'") or die(mysql_error());
 while ($exibir = mysql_fetch_array ($executar)){;
 	 echo "<table width=\"100%\" border=\"1\" align=\"left\" cellspacing=\"22\"><tr><td>".$exibir['nome']."</td><td width=\"60%\" cellspacing=\"22\">".$exibir['clubes']."</td></tr></table>";
	 echo "<br />";
	 echo "<br />";
 }
?>

dae pra vizualizacao eu colocaria como?

 

aa blzz, vlws vo testar, e enquadno eu estava escrevendo, nao tinha atualizado a pagina...

 

vou ver!

 

 

VLWSS ja retorno!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para fazer isso, crie uma página que receba, via GET, o id do registro, busque no banco as informações, e crie o formulário, preenchendo com os dados retornados:

 

$id = $_GET["id"];
$resultado = mysql_query("SELECT * FROM tabela WHERE id=".$id);
$resultado = mysql_fetch_assoc($resultado);
echo '<p>Campo 1: <input type="text" value="'.$resultado["campo1"].'" /></p>';

Então, na sua página de exibição, para cada item, faça um link que passe via GET o código p/ editar.

 

Quando der SUBMIT no formulário de edição, use o comando UPDATE do MySQL para alterar os dados do respectivo id.

 

-- EDIT --

Opa, não atualizei a página e não vi as outras respostas, mas fica aí a explicação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra não precisar fazer um outro SELECT, o interessante é passar as informações via POST com um campo HIDDEN

 

<form action="editar.php" method="post" >
<input type="hidden" name="id" value="<?php print $id; ?>"
<input type="hidden" name="nome" value="<?php print $nome; ?>"
<input type="hidden" name="email" value="<?php print $email; ?>"
<input type="submit" value="Editar" >
</form>

// e no editar.php
$id = $_POST['id'];
$nome = $_POST['nome'];
$email = $_POST['email'];

<form action="" method="post" >
<input type="text" name="nome" value="<?php print $nome; ?>"
<input type="text" name="email" value="<?php print $email; ?>"
<input type="submit" value="Confirmar Edição" >
</form>

$query("UPDATE <NOME DA TEBELA> SET nome=$nome, email=$email'WHERE id=$id ");

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao, na hora que eu seleciono para editar, ele diz

Fatal error: Call to undefined function mysql_fetch_arrow() in D:\EasyPHP-5.3.3.1\www\lasports\adm\editar.php on line 14

 

no chute, não seria array?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao, na hora que eu seleciono para editar, ele diz

Fatal error: Call to undefined function mysql_fetch_arrow() in D:\EasyPHP-5.3.3.1\www\lasports\adm\editar.php on line 14

 

no chute, não seria array?

 

 

Poste todo o COD do "editar.php"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae consegui, eu troquei por array, e dae eu esqueci de troca uma coisinha agora deu certo!

 

VLWSS POR TODOS ME AJUDAREEMMM GALERA!!!!!!!!!

 

 

VLW!

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou tentar explicar da forma mais simples possível.

Você irá criar 2 páginas uma editar.php e outra salvar.php

 

No botão editar você irá enviar o ID da linha que irá editar do BD

algo desse tipo

 

<?php echo "<a href='editar.php?id=". $row['id'] ."> Editar </a>"; ?>

 

na editar.php fica assim:

<?php
$id = $_GET['id'];

$busca = mysql_query("SELECT * FROM tabela WHERE id = $id"); 
$row = mysql_fetch_arrow($busca);
?>
<form method="POST" action="salvar.php">

<input type="text" value="<?php echo $row['campo']; ?>" name="campo" />
<input type="hidden" value="<?php echo $id; ?>" name="id" />

<input type="submit" value="editar" />

</form>

salvar.php

<?php

$campo = $_POST['campo'];
$id = $_POST['id'];

mysql_query("UPDATE tabela SET campo = '$campo' WHERE id = $id");
print "Editado com sucesso";

?>

Fiz agora de cabeça tem que dar uma testada ve se não passei batido por nada.

mas qualquer coisa é só postar ai :)

--------------------------------------------------

 

Gabriel Ferrari, muito boa sua explicação da pra entende certinho,

agora você poderia me tirar uma duvida?

 

nesse caso, e se tivesse 2 tabelas e assim fizemos 2 consultadas nas tabelas para imprimir elas, como eu faria pra edita a segunda tabela pelo mesmo formulario??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá gente estou com o mesmo problemaaa....

Assim - os dados aparecem na tabela ai criei no final um botão editar em cada linha... a pessoa pode editar linhar por linha... mais quando clico em editar ele só preenche o campo nome e não tras os outros dados...

vou mostrar mais fácil.. vou mostrar os dois cod.

 

criei

echo "<td><a href=alterar.php?nome=$nome>Editar</a></td>";

que vai levar para minha página onde possui o form para alterar, só que em vez de preencher todos os formes com cada dado e ai a pessoa possa alterar.. ele só preenche o nome..

<?php
	
echo "<div class=demo-table><table><tr>";
	echo"<td>Nome </td>";
	echo "<td>Filiais </td>";
	echo "<td>Setor </td>";
	echo "<td>Número de Celular </td>";
	echo "<td>Nextel </td>";
	echo "<td>Editar </td></tr>";
	

	$buscar=$_POST['buscar'];
	$sql = mysql_query ("SELECT * FROM contatobd WHERE nome LIKE '%".$buscar."%' OR filiais LIKE '%".$buscar."%' OR setor LIKE '%".$buscar."%' OR numero_cel LIKE '%".$buscar."%' OR nextel LIKE '%".$buscar."%'");
	$row = mysql_num_rows($sql);
	
	if ($row > 0){
	
		while ($linha = mysql_fetch_array($sql)){
	
	$nome = $linha['nome'];
	$filiais = $linha ['filiais'];
	$setor = $linha ['setor'];
	$numero_cel = $linha ['numero_cel'];
	$nextel = $linha ['nextel'];		

						
			echo "<tr>";
				
				echo"<td>$nome </td>";
				echo "<td>$filiais </td>";
				echo "<td>$setor </td>";
				echo "<td>$numero_cel</td>";
				echo "<td>$nextel </td>";
				echo "<td><a href=alterar.php?nome=$nome>Editar</a></td>";
				
			echo "</tr>";
			
			
		}
		
		echo "</table>"; 
			
		
	} else {
		
		echo"Nenhum resultado encontrado!";
		

	}
	
?>

esse é o cod alterar.php


<?php

error_reporting(0);
$banco= mysql_connect ("localhost", "root", "") or die (mysql_error());
mysql_select_db("filiaisbd") or die (mysql_error());

	$nome=$_GET[nome];
		
	$busca= mysql_query("SELECT * FROM contatobd WHERE nome=$nome");
	 $row = mysql_fetch_array($busca);
		
	while ($linha = mysql_fetch_array($busca))
		
	{
	
			$nome = $linha['nome'];
			$filiais = $linha ['filiais'];
			$setor = $linha ['setor'];
			$numero_cel = $linha ['numero_cel'];
			$nextel = $linha ['nextel'];		
		
		}	
	
			

	
?>

<form action="salvaralteracao.php" method="post">
Nome:<br> <input type="text" name="nome" value="<?php echo $nome; ?>"><br>
Filiais:<br> <input type="text" name="filiais" value="<?php echo $filiais; ?>"><br>
Setor:<br> <input type="text" name="setor" value="<?php echo $setor; ?>"><br>
Numero de Celular: <br><input type="text" name="numero_cel" value="<?php echo $numero_cel; ?>"><br>
Nextel:<br> <input type="text" name="nextel" value="<?php echo $nextel; ?>"><br>
<input type="Submit" value="Salvar">

</form>

Por favor me ajudem... ta difícil. sou iniciante..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já fiz.. nada adiantou.. pelo oq vi

ele ta preenchendo o form através da variável q eu coloquei a $nome nesse Editar... parece que ele só ta usando o Get do alterar.php... to rancando os cabelos já

echo "<td><a href=alterar.php?nome=$nome>Editar</a></td>";

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.