Jump to content
Fórum Script Brasil
  • 0

O Delete Não Funciona...


Martinsrj
 Share

Question

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

11 answers to this question

Recommended Posts

  • 0
Guest Dr. GAP

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...