Jump to content
Sign in to follow this  
rosarinho

Editar dados da tabela e salvar alteração no banco

Recommended Posts

Boa tarde,

 

Gostaria de uma ajuda, criei uma página onde todos conseguem visualizar os telefones das filiais

só que possui telefones desatualizados e gostaria de criar algo que ative uma alteração onde nessa tabela a pessoa clique altere

o dado e clicando fora ou em algum botão para salvar a alteração, nessa página não possui logins somente visualização dos dados.

 

Abaixo está cod que uso para puxar os dados do sql e mostrar no site em uma tabela. Agora preciso de um jeito para poder alterar ela

e salvar e atualizar dentro do banco.

 

 

 

Alguém pode me ajudar??

 

Fico no aguardo!

<?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></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 "</tr>"; 
			
			
		}
		
		echo "</table>"; 
			
		
	} else {
		
		echo"Nenhum resultado encontrado!";
		

	}
	
?>
 

Share this post


Link to post
Share on other sites

Ele tem uns botões de editar e excluir. no link do botão de editar, vc cria um popup e passa os dados da linha pra ele. Eu faço assim :D

Share this post


Link to post
Share on other sites

Eu to fazendo um pouquinho diferente... criei um botão editar, que leva para página alterar.php, onde irá possuir os forms trazendo os dados da tabela.. mais ai que tá ele só me trás o nome os outros forms ficam em branco :/ meus cod abaixo ai ....

 

Se poder ajudar! Agradeço.. sou novato no php

<?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!";
		

	}
	
?>

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>

Share this post


Link to post
Share on other sites

tira o espaço que esta dentro do while, entre $linha e os colchetes rsrsrsrs

 

 

$nome = $linha['nome'];
            $filiais = $linha ['filiais'];
            $setor = $linha ['setor'];
            $numero_cel = $linha ['numero_cel'];
            $nextel = $linha ['nextel'];

 

$nome = $linha['nome'];
            $filiais = $linha['filiais'];
            $setor = $linha['setor'];
            $numero_cel = $linha['numero_cel'];
            $nextel = $linha['nextel'];

Share this post


Link to post
Share on other sites
<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>

Só esse form... mais quando eu edito só preenche os forms com o nome.. o resto nao preenche fica em branco

Share this post


Link to post
Share on other sites

faz o seguinte... da um echo nas variaveis, depois do while e vê o que aparece...

 

 

 

while ($linha = mysql_fetch_array($busca))            {                $nome = $linha['nome'];            $filiais = $linha ['filiais'];            $setor = $linha ['setor'];            $numero_cel = $linha ['numero_cel'];            $nextel = $linha ['nextel'];                        }      echo $nome."<br/>";echo $filiais."<br/>";echo $setor."<br/>";echo $nome."<br/>";echo $numero_cel."<br/>";echo $nextel."<br/>";

posta dnovo seu while, pra eu ver como está...

Share this post


Link to post
Share on other sites

esse mostra a tabela com os dados e a opção editar

<?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 outro é o alterar.php

onde tem o form que deveria trazer os forms preencheidos com os dados da tabela para pode alterar.. só que trás somente o campo nome preenchido.


<?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");
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>

Share this post


Link to post
Share on other sites

MYSQL está obsoleto, use preferencialmente o pdo ...

 

Veja se funciona assim :

<?php
error_reporting(0);

$banco = new PDO('mysql:host=localhost;dbname=filiaisbd','root','');

$nome=$_GET["nome"];

$busca = $banco->query("SELECT * FROM contatobd WHERE nome=$nome");

while ($linha = $busca->fetchAll(PDO::FETCH_ASSOC)){
    $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>

Share this post


Link to post
Share on other sites

apaga a primeira linha do altera.php

 

error_reporting(0);

e coloca essas aqui, logo após a tag de abertura... vê se retorna algum erro.

 

 ini_set( 'display_errors', true );error_reporting( E_ALL );

 

você deu um echo nos campos, no altera.php, como te falei? pra ver se os dados estão vindo...

 

 

testa sua query com

 

$busca=mysql_query("SELECT * FROM contatobd WHERE nome=$nome") or die (mysql_error());

Share this post


Link to post
Share on other sites

Está desse jeito continua não funcionando :/

<?php  ini_set( 'display_errors', true );error_reporting( E_ALL );$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") or die (mysql_error());	 			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>

Guilherme da Silva tentei o seu tbm.. não obtive resultado.

Share this post


Link to post
Share on other sites

Bom pelo oq percebi quando mudo

echo "<td><a href=alterar.php?nome=$nome>Editar</a></td>"; que é onde puxa a tabela com os dados.. ate então blz ta puxando...

mais quando clico em editar ele me levar para a página onde tem os forms.. nome filiais.. mais ele só preenche o nome ... os outros ficam em branco.. exemplo

cliquei para editar o joão

ai ele me leva para a página alterar.php e no form nome.. ele aparece lá joão .. só que os campos filiais, setor, numero, nextel ficam em branco...

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

para esse aqui

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

ai percebi que na pagina alterar.php onde tem os forms no campo nome ele trouxe o nome da filial e não da pessoa.. percebi que o tem no alterar.php não está fazendo efeito somente até o get.

 

acho que deu para entender...

 

 

Até agora só vi SELECT, onde você está atualizando (UPDATE) os dados no banco de dados?

Entao to querendo primeiro trazer esses dados para o form... para depois altera-lós depois salvar.

 

to com banco criado já no wamp... a tabela já está ok agora nao consigo editar ela de jeito nenhum.. não consigo jogar cada um em seu form.

 

é bem parecido com esse vídeo..

mesmo assim não consegui.. tem alguma coisa ainda que eu to boiando e não consigo..

Share this post


Link to post
Share on other sites

você poderia postar a tabela "contatobd" ???

dot.gif A seleção atual não contém uma única coluna. As funções edição em grade, checkbox, editar, copiar e apagar não estão disponíveis.

 

 A seleção atual não contém uma única coluna. As funções edição em grade, checkbox, editar, copiar e apagar não estão disponíveis.nome	filiais	setor	numero_cel	nextelAbraão Silvino	Matriz -SP	Operacional	(011) 7712-4891	55*2*45080Adelson Soares	Matriz -SP	Gerente Faturamento	(011)98713-0246	55*2*25233Adonias Matriz -SP	Matriz -SP	Operacional	(011)98698-1319	55*2*37661Adriano dos Reis	São Jose dos Pinhais - P	Motorista	(041)9971-5236	Adriano Pereira	Fortaleza - CE	Motorista	(085)9998-0322	Adriano Ribeiro	Cabo de Santo Agostinho -	Motorista	(081)9892-1118	Alessandra Araujo	Matriz -SP â SP	Coordenadora de SAC	(011) 7730-5873	55*2*29813Alex	Simões Filho - BA	Motorista	(071)9147-1571	Alex Alves	Matriz -SP	Controladoria	(011) 7732-1391	55*2*25226Alexandre Dorneles	Porto Alegre -RS	Motorista	(051)8224-0436	Alexandre Paulo	Cabo de Santo Agostinho -	Motorista	(081)9892-1213	Alexandre Serpa	Porto Alegre -RS	Motorista	(051)8185-3184	Alexandre/ Douglas	Matriz -SP	Informática TI	(011) 7746-4001	55*11*88573Ana Barral	Simões Filho - BA	Pendência	(071)9158-7087	55*115*44346Andre Antonio	Blumenau -SC	Gerente	(047)9966-0157	55*2*20344Andre Ferreira	Cabo de Santo Agostinho -	Motorista	(081)9710-0247	Antonia Santina	Fortaleza - CE	Motorista	(085)9998-0379	Antonio	Simões Filho - BA	Operacional	(071)9165-5273	Antonio Alisson	Fortaleza - CE	Motorista	(085)9998-0196	Antonio Marcos	Cabo de Santo Agostinho -	Motorista	(081)9892-1188	Antonio Nilo	João Pessoa - PB	Motorista	(083)9859-0116	Antonio Pereira	Maceió -AL	Motorista	(082)9961-0208	Antonio Ricardo	Campinas - SP	Motorista	(019)98355-0084	Antonio Santana	Aracaju -SE	Motorista	(079)9111-0046	Arenita	Simões Filho - BA	Recepção	(071)9169-2903	

Essa é a tabela ... ate entao ela mostra de boa.. no final de cada linha tem um editar... nesse editar quando clico ele tem que me levar para a pagina alterar.php e nos campos do form preencher com os dados da linha selecionada

mais só preenche a primeira.. os outros ficam em branco..

ai que tá o problema... não consigo paassar para a próxima etapa que é depois salvar sem que os dados apareçam nos campos do form..

 

 

Fico no aguardo!!

 

 

eu até mudei o alterar... ele agora preenche os forms.. mais só com um dado... posso editar todos que eu quiser ele sempre preenche com o mesmo...

<?phperror_reporting(0);$banco= mysql_connect ("localhost", "root", "") or die (mysql_error());mysql_select_db("filiaisbd") or die (mysql_error());			$sql="SELECT * FROM contatobd";	$resultado=mysql_query($sql) or die ("Não foi possivel realizar a consulta ao banco");			 while ($linha = mysql_fetch_array($resultado))          {                $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>

Share this post


Link to post
Share on other sites

Tira esse espaço e tenta!! Você disse que tirou mas ainda aparece com o espaço:

Está assim:
$linha ['filiais'];

Deixe assim:
$linha['filiais'];

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.