Jump to content
Fórum Script Brasil
  • 0

PROBLEMAS NA FUNÇÃO DO BOTAO APAGAR


joanita
 Share

Question

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

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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`)

Edited by joanita
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.6k
    • Total Posts
      646.2k
×
×
  • Create New...