Ir para o conteúdo
DiogoCardoso

Apagar row da base de dados

Mensagens Recomendadas

DiogoCardoso

Eu tenho a seguinte tabela que vai buscar os dados presentes a base de dados:

343ru5y.jpg

Eu queria que ao carregar no botao de eliminar , me eliminasse esse registo da base de dados , nao consigo ver como tal coisa se faz ,pois para isso preciso de ir buscar o id da row que quero apagar

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruicosta.web

Na criação dessa listagem, tu consegues saber o ID da linha, certo?

NO X crias um link: <a href="apagar_registo.php?id=<?=$row['id'];?>">X</a>

  • Voto 1

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

Ao fazeres o ciclo que imprime essa tabela no X de apagar cria um link como disse o ruicosta.web, <a href="apagar_registo.php?id=<?=$row['id'];?>">X</a>

na página apagar_registo.php crias algo do género:

<?php

// conexao à bd......


if(isset($_GET['id'])){
 //COMANDO SQL PARA ELIMINAR A LINHA WHERE ID = $_GET['id']
}

?>

ATENÇÃO: É INDISPENSÁVEL O USO DE FUNÇÕES PARA ESCAPAR CARACTERES QUE PODEM RESULTAR EM FALHAS DE SEGURANÇA COMO O CONHECIDO SQL INJECTION, FAÇO REFERÊNCIA EM ESPECIAL AO CARACTER ' QUE BEM UTILIZADO FAZ COM QUE QUALQUER PESSOA VEJA O QUE TENS NA BD.

existem muitos metodos para escapar esses caracteres, procura na net "PHP escape caracteres sql injection" , por exemplo eheh

Editado por apocsantos
geshi

developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruicosta.web

if ( isset( abs( (int)$_GET['id'] ) ) )
{
..........
}

Já que deste o exemplo e podes logo indicar um método eficaz...

Editado por apocsantos
tag code + geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

Eu faço o trabalho dele e tu vens fazer o meu? eheh


developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ruicosta.web

Eu faço o trabalho dele e tu vens fazer o meu? eheh

Não estamos cá para nos ajudarmos? Com jeitinho....vem alguém corrigir-me ou sugerir alterações!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

Não estamos cá para nos ajudarmos? Com jeitinho....vem alguém corrigir-me ou sugerir alterações!

http://www.priberam.pt/dlpo/ajudar

Vê isso, mas caso nao queiras deixo aqui escrito:

ajudar = Contribuir para que outrem faça alguma coisa.

Se a tua ideia é por-me à prova, aviso já que para mim estás no planeta ao lado.

DiogoCardoso Qualquer dúvida vai falando :)

Editado por chbcl
  • Voto 1

developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DiogoCardoso

Isto dame erro na linha do codigo :

echo "<td> <a href='apagar_registo.php?id=<?=$row['id'];?>'><span class='glyphicon glyphicon-user style='color:#707070'> </span></a></td>";

Nao esta correto?

Editado por DiogoCardoso

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DiogoCardoso

Eu tenho este codigo php:

<table id="myTable" class="table table-hover">
<thead>
	<tr>
	<th><b>Id</b></th>
	<th><b>Nome</b></th>
	<th><b>Data Inscricao</b></th>
	<tr>
</thead>
<tbody>
	<?php
	if (!isset($_SESSION)){session_start();}
		$conn=mysqli_connect("localhost","root","","GymPombalense");

		$instS="Select Id_Cliente,Nome,Data_Insc from cliente";
		$query = mysqli_query($conn,$instS);
		while ($row = mysqli_fetch_row ($query)){
		echo "<tr>";
		echo "<td>".$row[0]."</td> ";
		echo "<td>".$row[1]."</td>";
		echo "<td>".$row[2]."</td>";
		echo "<td> <a href='#'><span class='glyphicon glyphicon-remove' style='color:#D00000'> </span></a></td>";
		echo "<td> <a href='apagar_registo.php?id=<?=$row['id'];?>'><span class='glyphicon glyphicon-user style='color:#707070'> </span></a></td>";
		echo "</tr>";
		}

	?>
</tbody>
 </table>

Se nao for pedir muito podia-me ajudar a saber o que estou a fazer de mal ?

Editado por apocsantos
tag code + geshi

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

A sessão, a sessão deve SEMPRE ser iniciada no inicio!

ou seja:

session_start();

e só depois as verificações se está ou não definida a sessão...


developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DiogoCardoso

hum ok , eu vou mudar entao , obrigado. :)

Mas dame este erro nesta linha de codigo:" echo "<td> <a href='apagar_registo.php?id=<?=$row['id'];?>'><span class='glyphicon glyphicon-user style='color:#707070'> </span></a></td>";

Parse error: syntax error, unexpected '"', expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\PAP2\PageAdmin\ListaUsers.php on line 40

nao sei o porque :S

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

Aconselho-te a experimentar vários se ainda não o fizeste, acabas sempre por encontrar um melhor a outro que já conheces, eu uso o PHP Storm que para mim é de longe o melhor, quer por mobilidade, flexibilidade, recursos, suport, etc.

o PHP Storm tem uma aparencia bastante remodelável, dá alertas de erros, warnings, etc.

Em termos de conexão a base de dados podes préconfigurar-lo a uma base de dados que estejas a usar e ele ajuda-te a escrever as query's.

Conexão por FTP, ligas ao servidor web que estás a fazer alterações e configuras para ao salvar fazer upload automático e é como se tivesses a trabalhar localmente.

Claro que estas funcionalidades muitos têm, mas este para mim é algo de eleição mesmo...

E uma vantagem MUITO boa dele é que possui um suport muito bom, encontras lá tudo.

Como referência, se esta não te chega, eu encontrei o PHPStorm à uns anos, enquanto procurava um novo IDE para utilizar, e posteriormente falei com uma pessoa que conheço que é programador de topo (que inclusive já foi professor de programação na universidade do Minho) e ele disse-me que tambem o utilizava por ser muito bom.

Bem, quanto a licenças, não sei se és do tipo que as comprar ou se és adepto de cracks, mas se o teu ramo profissional não te obriga a algo totalmente 'legal'

Dou-te esta nota:

GOOGLE -> escreve: phpstorm license key github -> Carrega no botão sinto-me com sorte

EHEHEHEH :)

Acredita, depois de exprimentares não queres outra coisa.

Aqui vai um print:

https://www.jetbrains.com/phpstorm/whatsnew/img/60/demo_thumb.png


developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DiogoCardoso

Hum ok vou ver o php storm , obrigado :)

so tenho aqui um problema se nao é abusar muito ... o get nao me esta a passar informaçao , quando escrevo o $_GET['id'] na pagina apagar_registo.php ele nao me escreve nada :S

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

Como assim?

se tu no URL tens algo como .php?id=QUALQUERCOISA

ao fazeres print $_GET['id']; TEM QUE APARECER O QUE ESTÁ DEPOIS DO IGUAL


developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
DiogoCardoso

pois exato nao me aparece nada quando faço o print

<a href='apagar_registo.php?id=<?='".$row[0]."';?> eu tenho isto e no apagar registo quando faço o print nao aparece nada, aparece a variavel vazia

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

na página apagar_registo.php escreve isto:

if(isset($_GET['id'])){
    print $_GET['id'];
}
else{
       print "<a href='apagar_registo.php?id=123'>LINK</a>";
}

Se não der nada depois de clicares nesse link, entao o problema é nao teres o PHP instalado AHAHHAH

No caso desse link, clica no link com a tecla do lado direito do rato e clica em copiar URL do link e cola em algum lado, verifica se é algo do tipo apagar_registo.php?id=qualquercoisa


developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

Sim é normal que apareça 123 porque o código que escrevi não tem erros, mas o que te pedi nao foi para testar o meu código porque não estou aqui a esclarecer dúvidas, pedi para me dizeres o que tinha o LINK do TEU codigo, porque já tá mais que visto que o erro aqui é o teu $row[0] que não está a funcionar.

Na página onde tens o TEU link faz:

print "<pre>";
print_r($row);
print "</pre>";

e mostra aqui o resultado..

Editado por chbcl

developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

Envia, se possível o código inteiro da página onde tens o link


developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
chbcl

lido, respondido e acho que o assunto também foi resolvido eheh x)


developer @ filipealves.net

filipealvesbcl [a] gmail.com

github.com/filipealvesbcl

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.