Jump to content
Fórum Script Brasil
  • 0

botão DELETE


joanita
 Share

Question

tenho este codigo:

<?
//liga-se à base de dados
require_once("ligabd.php");
include("style.css");

// executa a CONSULTA AZUL CÉU
$sql = "SELECT * FROM suites WHERE (suite = 'azul céu')";
$azul_ceu = mysqli_query($con, $sql);

// conta o número de registos da CONSULTA DA SUITE AZUL CÉU
$total_azul_ceu = mysqli_num_rows($azul_ceu);

echo "<p align='center'><titulo>SUITE AZUL CÉU (" .$total_azul_ceu. ")</titulo></p><hr>";

// exibe os registos da CONSULTA DA SUITE AZUL CÉU
while ($f = mysqli_fetch_array($azul_ceu)){

echo "<table align='center' width='500' border='0' cellpading='3' cellspacing='3' bgcolor='#004221'>

     <tr><td align='right' width='150' height='32'><txt1>Nome:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;<font color='yellow'><b><i>".$f['nome'].    

"</b></i></txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Telefone:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;".$f['telefone'].                  

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Email:&nbsp;            </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;".$f['email'].                  

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Suite Reservada:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;".$f['suite'].                 

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Tipo de Reserva:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;".$f['tipo_reserva'].             

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data Check-in:&nbsp;        </txt1></td><td bgcolor='#91c200'><txt2>&nbsp;&nbsp;".$f['checkin'].                 

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data Check-out:&nbsp;        </txt1></td><td bgcolor='#ff1f1f'><txt2>&nbsp;&nbsp;".$f['checkout'].                 

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Late Check out:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;".$f['late_checkout'].             

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Valor já Pago:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;<b>".$f['pagamento'].             "

€</b></txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Hora de Chegada:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;".$f['hora_chegada'].             

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Camas Extra:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;".$f['camas_extra'].             

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Berços:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;".$f['berco'].                 

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Peq. Alm. no Quarto:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;".$f['pequeno_almoco'].             

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Jantar Incluído:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;".$f['jantar'].                 

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Data do Jantar:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;".$f['data_jantar'].             

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Nº Animais:&nbsp;        </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;".$f['numero_animais'].             

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1>Atividades Incluídas:&nbsp;    </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;".$f['atividades'].             

"</txt2></td></tr>",        
    "<tr><td align='right' width='150'><txt1>Serviço de Transporte:&nbsp;    </txt1></td><td bgcolor='#004221'><txt2>&nbsp;&nbsp;".$f['transporte'].             

"</txt2></td></tr>",        
    "<tr><td align='right' width='150'><txt1>Pedido Especial:&nbsp;        </txt1></td><td bgcolor='#00572c'><txt2>&nbsp;&nbsp;".$f['pedido_especial'].            

"</txt2></td></tr>",
    "<tr><td align='right' width='150'><txt1><font color='#91c200'>Nº ID Reserva: ".$f['id']."&nbsp;</font></txt1></td><td bgcolor='#00572c' ><txt2>&nbsp;<form action='apagar.php'

method='post'>&nbsp;<input type='submit' value='Eliminar esta Reserva'></form></txt2></td></tr>

</table><br>"
;}

// fecha ligação
//mysqli_close($con);
?>

 

com este codigo ele lista todas as reservas para essa suite uma abaixo da outra, mas eu quero que em cada uma apareça o botao "Eliminar esta Reserva" do form acima (a vermelho) e que ao clicar nele elimine apenas essa entrada individual dessa reserva. vai ter varias reservas e não estou a conseguir criar esse botão :( preciso de ajuda! tou a dar em doida e so falta isso pra terminar o script...

 

Link to comment
Share on other sites

17 answers to this question

Recommended Posts

  • 0

1 - o padrão é você ter uma coluna chave primaria na tabela do banco de dados
(vamos chamar essa coluna de "id");
2 - no formulário, é só passar esse "id" para a próxima página. ex:

<form action='apagar.php?id=<?php echo $f['id']; ?>'
method='post'>&nbsp;<input type='submit' value='Eliminar esta Reserva'></form>

3 - mesma lógica p/ pesquisar, editar etc. pesquise sobre querystrings.

Edited by Marcelo_2
Link to comment
Share on other sites

  • 0

A forma que o Beraldo ensina no tuturial não posso adaptar ao meu codigo porque teria que alterar toda a estrutura, Marcelo_2 como disseste também deu erro, coloquei assim:

<form action='apagar.php?id=(".$f['id'].")' method='post'>&nbsp;<input type='submit' value='Eliminar esta Reserva'></form>

não dá erro mas também não está a eliminar nada :/ , o meu /apagar.php?id=4 esta assim:

<?PHP
//liga-se à base de dados
require_once("ligabd.php");

$id = $_GET["id"];    
$sql = "DELETE FROM suites WHERE id = $id";

?>

 

Edited by joanita
Link to comment
Share on other sites

  • 0

Não apaga nada porque estás a colocar parêntesis desnecessários no URL do formulário. Se fizeres um echo de $sql, o ID da reserva está a ser passado neste formato: (1). O que significa que estás a mandar o SGBD apagar um registo cujo ID não existe na tabela (uma vez que na tabela constará o ID 1 e não (1)).

Link to comment
Share on other sites

  • 0

bem eu removi os parentesis pelo que na barra de endereços já me aparece.../apagar.php?id=4

mas continua sem apagar o registo... quando verifico no lista.php aprece na mesma la.

eu precisava mesmo que isso funcionasse, tal como da mesma forma eliminasse as reservas das lista automaticamente após passar a data de checkout, mas não é só... necessitava que as coisas desaparecessem da lista, mas também que permanecessem num registo para mais tarde poder fazer o balanço... por exemplo no final do mês ou do ano, que desse para ver todas as reservas de determinado periúdo de tempo. passa-me o teu mail por mensagem wootzor, assim posso enviar-te os ficheiros para veres e ajustares é mais fácil, são poucos, não vou dar muito trabalho prometo.

Link to comment
Share on other sites

  • 0

isso eu sei, mas não faz qualquer sentido porque estou a usar o ficheiro do login com os dados de acesso que é usado em tudo e está corréto em tudo, mas neste esta a dar esse erro não percebo porquê...

Link to comment
Share on other sites

  • 0

Eu tenho um file.php com os dados de acesso, servidor, user e pass... é o file que é usado para todas as outras funções do script como listar, inserir etc... se funciona bem em todas porque nāo funciona nesta? É chamado com "require" no file apagar... não percebo

 

Link to comment
Share on other sites

  • 0

se colocar assim: $sql = "DELETE FROM suites WHERE id=$id"; não me dá erro, mas também não apaga...

<?PHP
//liga-se à base de dados
require_once("ligabd.php");

$id = $_GET["id"];
$sql = mysql_query("DELETE FROM suites WHERE id=$id");

?>

Assim da-me o tal erro de acesso... :(

 

 

o meu ligabd.php está assim e funciona lindamente com tudo o resto:

<?PHP
// ligação e seleção da base de dados
$con=mysqli_connect(

// SERVIDOR
"localhost",

//USERNAME
"user",

// PASSWORD
"pass",

//BASE DE DADOS
"basedados");
?>

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.1k
×
×
  • Create New...