Jump to content

Eliminar dados SQL


dguimaraes
 Share

Recommended Posts

Boas,

Tou a fazer testar eliminar dados da base de dados seguindo um tutorial, no entanto os dados sao processados em 2 ficheiros, um lista os dados e lista com o id com link e o outro ficheiro processa e elimina o registo, mas não estou a conseguir passar os dados para o script de processar. nao o lista na confirmação para apagar:

ficheiro: eliminar_utilizador.php

<!DOCTYPE html>
<html lang="pt">
 <head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>SUPPORT MANAGEMENT</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<?php
require('include/connect_db.php');
// Ligar à bd //
$connect = mysql_connect($db_server, $db_username, $db_password) or die ('Não é possível ligar à DB');
// selecionar a bd //
mysql_select_db($dbase, $connect) or die (mysql_error($connect));
// criar consulta a bd //
$sql = 'SELECT * FROM tb_contratos ORDER BY cliente ASC';
//executar e guardar a consulta //
$consult = mysql_query($sql);
//verificar se há dados //
if ($consult) {
 include ('index.php');
 echo ('<table width="600px" align="left" border="1">');
 echo ('<tr><width="600px"><font face="Arial" align="center">Selecionar numero reg a apagar</tr><br/>');
 echo ('<tr><td width="100px" align="center" bgcolor="#99cc33"><font face="Arial" size="2">Nº Registo</td>
 <td width="200px" align="center" bgcolor="#99cc33"><font face="Arial" size="2">Cliente</td>
 <td width="300px align="center" bgcolor="#99cc33" <font face="Arial" size="2">Projecto</td></tr>');

 //percorrer os registos

 while ($mostrar = mysql_fetch_array($consult)){
  $id = $mostrar['id'];
  $cliente = $mostrar['cliente'];
  $projecto = $mostrar['projecto'];

  // apresentar ligacao

  echo ("<tr><td align=\"center\"><a href=\"processar_eliminar.php?id=$id&cliente=$cliente&projecto=$projecto\">$id</a></td><td align=\"center\">$id</td><td align=\"center\">$projecto</td></tr>");
 }
 echo ("</table>");
}
else {
 echo ("Base de dados sem registos");
}
//libertar variavel da memoria
mysql_free_result($consult);
?>
</head>
 <body>
 

ficheiro: processar_eliminar.php

<!DOCTYPE html>
<html lang="pt">
 <head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>SUPPORT MANAGEMENT</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->

<?php

if (isset($_REQUEST['apagar'])){

 // Ligar à bd //
 $connect = mysql_connect('localhost','root','') or die ('Não é possível ligar à DB');

 // selecionar a bd //
 mysql_select_db('dbase_man', $connect) or die (mysql_error($connect));
 $id = $_POST['id'];

 //criar executar consulta
 $sql = "DELETE FROM tb_contratos WHERE id=".$id;
 $consult = mysql_query($sql);
 echo ('Eliminado com sucesso');
echo ('<a href=eliminar_utilizador.php>Clique para continuar</a>');
}else{
 include('index.php');
?>
<table width="600px" align="left" border="1">
 <tr width="600px"><font face="Arial" align="center">Dados do utilizador a eliminar:</tr><br/>
 <?php
 $id = $_GET['id'];
 $cliente = $_GET['cliente'];
 $projecto = $_GET['projecto'];
 ?>
 <tr><td width="100px" align="left" bgcolor="#99cc33"><font face="Arial" size="2">Nº registo <? echo $id; ?></td></tr>
 <tr><td width="200px" align="left" bgcolor="#99cc33"><font face="Arial" size="2">Cliente: <? echo $cliente; ?></td>
 </tr>
 <tr><td width="300px" align="left" bgcolor="#99cc33"><font face="Arial" size="2">Projecto: <? echo $projecto; ?></td>
 </tr>
 <tr></tr>
 <tr><td><form method="post" action="processar_eliminar.php">Pretende remover registo?<input type="submit" name="apagar" value="sim">
 <input type="hidden" name="id" value="<?php $id; ?>">
 </form>
 </td></tr>
 </table>
<?php } ?>

 </head>
 <body>
Já decobri o erro a colar aqui o codigo...esquecam. Obrigado na mesma
Link to comment
Share on other sites

HappyHippyHippo

este é o um exemplo do link a ser chamado quando pretendes apagar

processar_eliminar.php?id=1&cliente=Cliente&projecto=Projecto
o que quer dizer que os parâmetros que existem são

- id = 1

- cliente = Cliente

- projecto = Projecto

no entanto, uma das primeiras coisas que o scrip chamado faz é :

if (isset($_REQUEST['apagar'])){
  // apagar o registo
}

como podes ver, "apagar" não está definido em lado nenhum

  • Vote 1
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Em 1/26/2016 às 14:35, HappyHippyHippo disse:

este é o um exemplo do link a ser chamado quando pretendes apagar


processar_eliminar.php?id=1&cliente=Cliente&projecto=Projecto
o que quer dizer que os parâmetros que existem são

- id = 1

- cliente = Cliente

- projecto = Projecto

no entanto, uma das primeiras coisas que o scrip chamado faz é :


if (isset($_REQUEST['apagar'])){
  // apagar o registo
}

como podes ver, "apagar" não está definido em lado nenhum

Boas...

Eu já vi qual era o problema, como o exemplo era de uma versao de php mais antiga o autor usava apenas o <? ?> a receber valores de variaveis. quanto ao apagar estava no name do input submit.

Obrigado pela resposta,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.