Ir para conteúdo

POWERED BY:

Arquivado

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

Bill Cruz

[Resolvido] Deletar arquivo de um banco sql

Recommended Posts

Bom pessoal aqui estou eu de novo,

 

Bom eu coloquei um link dentro de uma tabela que passa na minha outra pagina selecionando a id e excluindo do banco.

 

            <td width="121" height="16" valign="middle" bgcolor="#D9E3EE"><a href="exclui_cat_db.php"><img src="../images/botao_drop.png" alt="Excluir" border="0"></a></td>

 

Pagina de exclusao

 

 

 

<? 

include("conexão.php");

$id = $_GET[id];

$sql = mysql_query("DELETE FROM fotos WHERE id='$id'");

if($sql){ 

echo"cadastro deletado com sucesso";

}else{ echo" nao foi possivel deletar o cadastro";
}

?> 

 

na teoria seria só isso mas na prática ta fogo, fica dando erro direto, alguem sabe me dizer pq ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sempre que der algum erro, nos informe qual.

 

você não tá enviando o parâmetro, ai o script não tem como adivinhar.

a href="exclui_cat_db.php">

faltou:

a href="exclui_cat_db.php?id=255">

 

qnto ao outro script:

 

-> use <?php no lugar de <?

-> include não é uma função, portanto não use ()

-> delimite com aspas a chave do array

-> indente o script

-> se `id` for um campo INT na tabela, então o valor dele, não deve ter aspas.

 

:lol:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Banco SQL?

a linguagem se chama sql.

olhe se tem como usar um mssql_query

isso seria para SQL Server, coisa que ele nunca disse que usa.

 

Mesma coisa de eu falar, que tenho um 'servidor php', não dá pra afirmar se é Apache, IIS...

 

 

W.Bruno , ele pode usar o <? se tiver ta shurtcut tag habilitada no php.ini ^_^

o que é uma péssima prática e deve ser evitado, já que essa diretiva não será mais configurável.

prefiro dizer para 'corrigirem' isso, do que lá pra frente ver esse cara voltar, e dizer que 'não funciona mais', e agora 'não tenho como alterar short open tags'

Compartilhar este post


Link para o post
Compartilhar em outros sites

@William é que ficou confuso, ele não especificou se estava querendo usar um mysql ou sql server, apenas disse um banco sql(poderia ser sql server ou mysql) por isso fiz a pergunta banco SQL? para saber qual banco ele estava usando e tentei dar uma solução rápida antes dele tentar responder

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom deixei tudo como vocês falaram e continuo não dando certo.

 

o link que chama a pagina ficou assim:

<a href="exclui_cat_db.php?"></a>

 

e a pagina de exclusao ficou assim:

 

<?php 

include"conexao.php";

$id = $_GET[id];

$sql = mysql_query("DELETE FROM fotos WHERE id=$id");

$resultado = mysql_query($sql)

or die (mysql_error());

echo "Exclusão realizada com sucesso!";

?> 

 

 

o erro que esta retornando é o seguinte:

 

Query was empty

 

 

Desede jah obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você tá usando 2 vezes o mysql_query pra q ??

 

troca:

$sql = mysql_query("DELETE FROM fotos WHERE id=$id");

$resultado = mysql_query($sql)

por:

$sql = "DELETE FROM fotos WHERE id=$id";

$resultado = mysql_query($sql)

 

e ainda assim cadê o parâmetro no link ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae tu é fera !!!! :)

 

É que to aprendendo de vdd agora, antigamete eu só alterava agora eu to criando!!!

 

só fico faltando uma paradinha!

 

tipo o nosso amigo ali encima falo pra eu passar o paramentro:

 

<a href="exclui_cat_db.php?id=255">

 

mas não é isso que quero, não quero pegar a id 255 do cadastro, quero pegar a id do cadastro que to clicando,

 

ali entao jah naum podeiria vir definido, eu tentei por assim:

 

<a href="exclui_cat_db.php?id='.$id'">

 

mas não adiantou deu erro direto na pagina preciso nem clica no link:

 

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in ...

 

to viajando aki naum sei como fazer.... help please.

 

vlw pessoal

 

 

 

Muito obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta faltando você manda imprimir a variavel, você tajogando num documento html variavel de php

 

 

tente assim

<a href="exclui_cat_db.php?id=<?php echo $id; ?>>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre o código acima, porém acredito que você esteja fazendo assim:

<a href="exclui_cat_db.php?id='.$id.'">

(faltou o . pra concatenar a variavel com o resto da tag)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outro help....

 

ele diz que exclui mas naum exclui entao passei o código e imprimi este erro:

 

Notice: Undefined index: p in caminho/excluir.php on line 21

 

a linha 21 começa neste código que postei pra vcs.

 

$p = $_GET["p"];
// Verifica se a variável tá declarada, senão deixa na primeira página como padrão
if(isset($p))
{
$p = $p;
}
else
{
$p = 1;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

.. e como você chega nessa página ?

como está a URL ?

 

var_dump( $_GET );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outro help....

 

ele diz que exclui mas naum exclui entao passei o código e imprimi este erro:

 

Notice: Undefined index: p in caminho/excluir.php on line 21

 

a linha 21 começa neste código que postei pra vcs.

 

$p = $_GET["p"];
// Verifica se a variável tá declarada, senão deixa na primeira página como padrão
if(isset($p))
{
$p = $p;
}
else
{
$p = 1;
}

 

 

Olá Bill, tem um erro ai:

 

isSet($p) sempre vai retornar verdadeiro, pois voce esta setando $p com $_GET['p'], mesmo que ela seja vazia!

 

O correto seria:

 

<?
// Verifica se a variável tá declarada, senão deixa na primeira página como padrão
if (isSet($_GET["p"]))
  { $p            = $_GET["p"];
  } else { $p     = 1; }

?>

 

Para melhorar ainda mais: Verifique se e um numero o $_GET['p']:

 

<?
// Verifica se a variável tá declarada, senão deixa na primeira página como padrão
if (isSet($_GET["p"]) && is_numeric($_GET["p"]))
  { $p            = $_GET["p"];
  } else { $p     = 1; }
?>

 

Dica: sempre que possivel, ex: quando a variavel tiver de ser um numero como e o caso, valide as variaveis passadas por GET e POST.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae campeões me ajudem só mais uma vezinha neste tópico.

 

segue o código:

 

<?php
// Conexão com o BD
include "conecta_mysql.inc";
// Verifica se a variável tá declarada, senão deixa na primeira página como padrão
if (isSet($_GET["p"]))
  { $p            = $_GET["p"];
  } else { $p     = 1; }
// Defina aqui a quantidade máxima de registros por página.
$qnt = 10;
// O sistema calcula o início da seleção calculando: 
// (página atual * quantidade por página) - quantidade por página
$inicio = ($p*$qnt) - $qnt;
// Seleciona no banco de dados com o LIMIT indicado pelos números acima
$sql_select = "SELECT * FROM fotos where status='Sim' GROUP BY evento ORDER BY data desc LIMIT $inicio, $qnt";
// Executa o Query
$sql_query = mysql_query($sql_select);
echo'<br>';
// executar query
if ($sql_query==0)
{
echo'<br>';
echo'<p align="center"><font size="2" face="Verdana"><strong>NO MOMENTO NÃO HÁ NENHUM CARTAO POSTAL DISPONÍVEL</strong></font></p>';
exit;

}
else
{
// bloco 5 - exiba os registros na tela
echo'<form name="form1" method="get" action="excluir_cat.php" target="_blank">';
echo'<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1">
 	<tr> 
   <td width="121" height="16" valign="middle" bgcolor="#4F7DB0"> 
   <div align="center"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong>CARTÃO</strong></font></div></td>
<td width="121" height="16" valign="middle" bgcolor="#4F7DB0"> 
   <div align="center"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong>TÍTULO</strong></font></div></td>
<td width="121" height="16" valign="middle" bgcolor="#4F7DB0"> 
   <div align="center"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong>DESCRIÇÃO</strong></font></div></td>
<td width="121" height="16" valign="middle" bgcolor="#4F7DB0"> 
   <div align="center"><font color="#FFFFFF" size="2" face="Arial, Helvetica, sans-serif"><strong>EXCLUIR CARTÃO POSTAL</strong></font></div></td>
 	</tr>
</table>';//Título da tabela//Título da tabela';;
while (list($id,$evento,$comentario,$path,$data,$data_cad,$data_alt,$ip,$status) = mysql_fetch_array($sql_query))//Por ser uma lista, os sampos devem ser seguidos conforme a sequência no Banco de Dados. Caso não queira todos os campos, deixar espaços em branco
		{
		//echo "<li> $titulo - $autor";
		//echo'<body text="#FFFFFF" link="#FFFFFF" vlink="#000066" alink="#FFFFFF">
		echo'<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1"><tr> 
   		<td width="121" height="16" valign="middle" bgcolor="#D9E3EE"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="'.$data.'" target="_blank"><img src="'.$path.'" width="80" height="60" border="1"></a></font></div></td>
   		<td width="121" height="16" valign="middle" bgcolor="#D9E3EE"><div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><center>'.$evento.'</center></font></div></td>
   		<td width="121" height="16" valign="middle" bgcolor="#D9E3EE"><div align="left"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><center>'.$comentario.'</center></font></div></td>
           <td width="121" height="16" valign="middle" bgcolor="#D9E3EE"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="exclui_cat_db.php?id='.$id.'"><center><img src="../images/botao_drop.png" alt="Excluir" border="0"></a></center></font></td>
 			</tr>
		</table>';
		}

echo'</form>';
// Depois que selecionou todos os nome, pula uma linha para exibir os links(próxima, última...)
echo "<br />";
// Faz uma nova seleção no banco de dados, desta vez sem LIMIT, 
// para pegarmos o número total de registros
$sql_select_all = "SELECT * FROM fotos where status='Sim' GROUP BY evento ORDER BY data desc";
// Executa o query da seleção acimas
$sql_query_all = mysql_query($sql_select_all);
// Gera uma variável com o número total de registros no banco de dados
$total_registros = mysql_num_rows($sql_query_all);
// Gera outra variável, desta vez com o número de páginas que será precisa. 
// O comando ceil() arredonda 'para cima' o valor
$pags = ceil($total_registros/$qnt);
// Número máximos de botões de paginação
$max_links = 3;
// Exibe o primeiro link 'primeira página', que não entra na contagem acima(3)
echo "<p align=\"center\"><font color=\"#000000\" size=\"2\" face=\"Arial, Helvetica, sans-serif\"><strong><a href='galeria.php?p=1' target='_self'>Primeira Página</a> ";
// Cria um for() para exibir os 3 links antes da página atual
for($i = $p-$max_links; $i <= $p-1; $i++)
{
// Se o número da página for menor ou igual a zero, não faz nada
// (afinal, não existe página 0, -1, -2..)
if($i <=0)
{
	//faz nada
	// Se estiver tudo OK, cria o link para outra página
}
else
{
           echo '<p align="center"><a href="#" onclick="history.back();"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><<                VOLTAR</strong></font></a><p></p>';
}
}
// Exibe a página atual, sem link, apenas o número
echo $p." ";
// Cria outro for(), desta vez para exibir 3 links após a página atual
for($i = $p+1; $i <= $p+$max_links; $i++)
{
// Verifica se a página atual é maior do que a última página. Se for, não faz nada.
if($i > $pags)
{
	//faz nada
}
// Se tiver tudo Ok gera os links.
else
{
           echo '<p align="center"><a href="#" onclick="history.back();"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong><<                VOLTAR</strong></font></a><p></p>';
}
}
// Exibe o link "última página"
echo "<a href='galeria.php?p=".$pags."' target='_self'>Última Página</a></strong></font></p> ";
}//Fim do else
?>

 

 

quando clico neste link deste código:

 

<td width="121" height="16" valign="middle" bgcolor="#D9E3EE"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><a href="exclui_cat_db.php?id='.$id.'"><center><img src="../images/botao_drop.png" alt="Excluir" border="0"></a></center></font></td>

 

ao envés de me mandar para:

<a href="exclui_cat_db.php?id='.$id.'">

 

ele põe o dominio do site e a pasta da intranet.

 

 

 

 

Vou explicar direito:

 

Tenho uma administração, e coloquei no menu dela um link pra minha pagina fora da pasta da administracao, tipo

?pg=pasta1/pasta2/pasta3/exclui_cat_db.php

.

 

seu eu entrar no navegador direto e chamar a pagina : ex: www.teste.com.br/pasta1/pasta2/pasta3/exclui_cat_db.php , funciona certim.

 

mas quando eu to na administração e excluo ele põe o dominio e a pasta da administração na frente, não sei porque fica assim :

 

ex: www.teste.com.br/administracao/?pg=../pasta2/pasta3/exclui_cat_db.php

 

e ele tenta apagar a foto de dentro de uma pasta da administração, sendo que não existe.

 

 

na hora do upload eu denominei o diretorio:

$pasta_dir = "/home/teste/public_html/estrutura/aki/galeria/arquivos/";//diretorio dos arquivos

 

 

e nem imagino o que posso fazer pra corrigir isso na pagina de exclusao.

 

Desde já obrigado meus brothers!

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.