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

PROBLEMAS NA FUNÇÃO DO BOTAO APAGAR


joanita

Pergunta

ola a todos, ok...

tenho um codigo que lista as varias reservas que existem em cada suite uma abaixo da outra, e coloquei um botão "APAGAR" abaixo de cada entrada listada que deveria chamar o seguinte ficheiro (apagar.php) e apagar apenas essa entrada especifica, em vez disso está a apagar todas as entradas da tabela, como posso fazer isso?

 

apagar.php (codigo chamado pelo botao APAGAR):

 

<html>
<head>
<link rel="stylesheet" type="text/css" media="all" href="datapick/jsDatePick_ltr.min.css" />
<script type="text/javascript" src="datapick/jsDatePick.min.1.3.js"></script>

<link rel="stylesheet" type="text/css" media="all" href="../css/jsDatePick_ltr.min.css" />
</head>
</html>

<?PHP
// HABILITA TODAS AS MENSAGENS DE ERRO
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

// LIGA-SE À BASE DE DADOS
require_once("ligabd.php");

// VERIFICA A LIGAÇÃO NÃO TEM ERROS
if (mysqli_connect_errno())
{
    // CASO TENHA ERROS MOSTRA O ERRO DE LIGAÇÃO À BASE DE DADOS
    echo "ERRO AO LIGAR À BASE DE DADOS: " . mysqli_connect_error();
}

$sql="DELETE FROM suites WHERE id=id
";
 
 
// CASO ESTEJA TUDO OK ADICIONA OS DADOS, SENÃO MOSTRA O ERRO
if (!mysqli_query($con,$sql))
{
    die('Error: ' . mysqli_error($con));
}

// MOSTRA A MENSAGEM DE SUCESSO E RETORNA À PÁGINA ANTERIOR PASSADOS 2 SEGUNDOS(no codigo abaixo javascript)
echo"<h2><p align='center'><font color='red'>Reserva Eliminada com sucesso!</font></p></h2>";
?>

<script>
window.setTimeout("history.back(-2)", 2000);
</script>

<?PHP
mysqli_close($con);

?>

</body>
</html>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

A expressão SQL está mal formada.

Para além disso, não é visível no código a parte onde recebes o ID da reserva a ser apagada. Tipicamente nos botões "Apagar" devias redireccionar para apagar.php?id=id_da_reserva e depois, no ficheiro apagar.php ir buscar o valor do parâmetro pelo $_GET (i. e., $_GET["id"]). Algo assim:

<?php
    $id_reserva = $_GET["id"];    
    $sql = "DELETE FROM `suites` WHERE `id` = $id_reserva";

 

Link para o comentário
Compartilhar em outros sites

  • 0

ola wootzor, bem eu tenho isso assim, ao clicar na pagina "lista.php que me esta a listar reserva abaixo de reserva por suite" envia via formulario post para o ficheiro apagar.php onde tem essa funçao, o problema é que aquilo lista automatcamente as reservas uma abaixo da outra e isso impossibilita-me de referir determinado id... julgo eu...

por outras palavras, o ficheiro lista.php é onde reune e faz a listagem de todas as 4 suites, vai buscar o resultado para cada reserva com determinado nome de suite à pasta "suites" onde exite um ficheiro para listar todos os dados de cada reserva por suite. É nesse ficheiro "lista.php" que tenho que inserir o botao apagar logo abaixo de cada reserva apresentada, so que imagina... no quarto 1 tem 3 reservas, no 2 tem 1... os ids vao ser diferentes em tdas... dai n poder meter o tal id_reserva (especifica)

 

extrutura do script:

  • Pasta Suites:
  1. azul_ceu.php
  2. verde_esperanca.php
  3. vermelho_paixao.php
  4. verde_lima.php
  • root do script
  1. apagar.php (devia executar a função para apagar automaticamente cada reserva se a data da variavel checkout tivesse expirado á 12h e executar tambem as funçoes dos tais botoes apagar, caso eu queira apagar pessoalmente a reserva (EX: um cancelamento de reserva.))
  2. enviar.php (formulario para inserir as reservas)
  3. insere_reservas.php (executa as funçoes para inserir os dados no mysql enviados pelo formulario "enviar.php" via post)
  4. ligabd.php (ligação ao mysql)
  5. lista.php (vai a pasta suites buscar os 4 ficheiros e exibe os resultados um abaixo do outro ordenado por suite (ex: suite azul Céu: cria uma tabela e mostra reserva1,reserva2,reserva3 etc...) em seguida faz o mesmo abaixo pras restantes suites)
  6. total.php (mostra o total de reservas por suite)
  7. style.css (os diversos estilos da pagina)

 

Mysql:

  `id` smallint(6) NOT NULL AUTO_INCREMENT,
  `nome` text NOT NULL,
  `telefone` decimal(9,0) NOT NULL,
  `email` varchar(50) NOT NULL,
  `suite` varchar(50) NOT NULL,
  `tipo_reserva` text NOT NULL,
  `checkin` date NOT NULL,
  `checkout` date NOT NULL,
  `late_checkout` date NOT NULL,
  `pagamento` decimal(4,0) NOT NULL,
  `hora_chegada` time NOT NULL,
  `camas_extra` varchar(30) NOT NULL,
  `berco` varchar(30) NOT NULL,
  `pequeno_almoco` varchar(30) NOT NULL,
  `jantar` varchar(30) NOT NULL,
  `data_jantar` date NOT NULL,
  `numero_animais` decimal(1,0) NOT NULL,
  `atividades` varchar(30) NOT NULL,
  `transporte` varchar(30) NOT NULL,
  `pedido_especial` varchar(250) NOT NULL,
  PRIMARY KEY (`id`)

Editado por joanita
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
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...