Ir para conteúdo
Fórum Script Brasil
  • 0

O Delete Não Funciona...


Martinsrj

Pergunta

Olá pessoal, beleza?

Tenho um código em php que realiza a exclusão do item desejado, porem quando é escolhido o item para a exclusão não é feita.

O código abaixo:

4 <?php
5 include "valida_cookies.php";
6 $usuario = $_COOKIE["usuario"];
7 $meses = array
8 ("Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez");
9 // -- Obtem todos os registros do usuario ---
10 include "conecta_pg.php";
11 $resultado = pg_query("SELECT id,descricao,data,valor from receitas_despesas where usuario='$usuario' order by data desc");
12 $linhas = pg_num_rows($resultado);
13 for($i=0; $i<$linhas; $i++)
14 {
15        $Linha_Tabela = pg_fetch_row($resultado);
16        $id = $Linha_Tabela[0];
17        $descricao = $Linha_Tabela[1];
18        $data = $Linha_Tabela[2];
19        $valor = $Linha_Tabela[3];
20        list($ano,$mês,$dia) = split("-",$data);
21        $nome_mes = $meses[$mês-1];
22
23 echo "$nome_mes/$ano - $descricao (R\$$valor) ";
24 echo "<a href=\"elimina.php?=id\">Excluir</a><br>";
25 }
26 pg_close($conexao);
27 ?>
A mensagem de erro: Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid input syntax for integer: "" in C:\Arquivos de programas\Apache Software Foundation\Apache2.2\htdocs\Controle_de_Caixa\elimina.php on line 10 Estou utilizando postgree, código abaixo:
CREATE TABLE receitas_despesas
(
  id serial NOT NULL,
  usuario character varying(30) NOT NULL,
  descricao character varying(100) NOT NULL,
  tipo character(2) NOT NULL,
  data date NOT NULL,
  valor double precision NOT NULL,
  CONSTRAINT pk_id PRIMARY KEY (id)
)
A minha include está dessa forma:
<?php
$str_conexao = "dbname=bd_elohim port=5555 user=postgres password=*****************";
if(!($conexao=pg_connect($str_conexao)))
{
echo "Não foi possível estabelecer uma conexão com o Banco de Dados Elohim.";
}
/* else
{
echo "Conexão efetuado com o banco postgreSQL 8.";

exit;
}*/
?>

Link para o comentário
Compartilhar em outros sites

11 respostass a esta questão

Posts Recomendados

  • 0

estou achando que o problema tah nessa linha

echo "<a href=\"elimina.php?=id\">Excluir</a><br>";

você não tá passando a variavel $id pro elimina.php ... acho que dai tah vindo o erro

substitua essa linha pela seguinte

echo "<a href='elimina.php?id=$id'>Excluir</a><br>";

acho que elimina.php deve estar esperando pegar o $id por get, e na tua linha atual não tah mandando nada...

Link para o comentário
Compartilhar em outros sites

  • 0

na verdade ele vai executar e fazer a substituição de variaveis mesmo entre aspas simples ... parece estranho mas funciona sim...

tirei isso de um código meu, que funciona ... talvez a substituição seja feita porque tah tudo entre aspas duplas, mesmo tendo aspas simples no meio... acho que é isso....

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, isso realmente pode acontecer, pois você abriu o echo com aspas duplas e não aspas simples, porém, no HTML também apareceria aspas simples no valor de a href=, o que não é certificado pelo W3C e talvez pudesse gerar problemas em alguns navegadores.

Dá uma olhada no exemplo do ESerra aqui em baixo, pois ele mostra em que situação as aspas simples não permitirão que o PHP interprete a variável

Link para o comentário
Compartilhar em outros sites

  • 0

Acabei de testar... realmente funciona, mas a explicação é simples (eu acho), deve ser porque os apóstrofo/es (aspas simples) estão delimitando o html e não o echo... pois se usar, por exemplo:

echo '$id';

Não funciona...

Link para o comentário
Compartilhar em outros sites

  • 0

pior que com duas aspas não funciona... dakele jeito que o lvcifer postou

echo "<a href=\"elimina.php?id=$id\">Excluir</a><br>";

porque ele vai separar a parte "<a href=\" do resto, e dai vai gerar um elimina.php?id=$id\ que vai dar erro...

mas concordo com relação ao href ficar com aspas simples, pd dar zica em algum navegador, então acho que a solução adequada seria

echo '<a href="elimina.php?id=' . $id . ''>Excluir</a><br>';

abraço brothers

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...