Jump to content

[Resolvido] link para outra página através de id


cota soares
 Share

Recommended Posts

Boa noite. Sou iniciado no php e estou com um problema para mim de dificil resolução.

Estou a utilizar o link

<td>
<a href="apagar.php?id=<?php echo $raws['id']; ?>">Apagar Registo</a></td>
</tr>

para entrar na página «apagar» e através do id eliminar o registo actual. No entanto e apesar de este comando parecer funcionar perfeitamente nos exemplos consultados, no meu servidor remoto (apache), não consigo obter o id. Nem mesmo na barra de espaçoes ele é adquirido.

O que posso estar a fazer de errado?

Antecipadamente grato por qualquer ajuda.

Link to comment
Share on other sites

echo $raws['id'];

;

O que é $raws? Mostra nos o código assim é dificil de perceber o que pretendes...

Na tua página 'apagar.php' terás de ter algo como:

if(isset($_GET['id']))
{
$id = $_GET['id'];
// procedimentos, apagar registro ...
}
Edited by munkbozz
Link to comment
Share on other sites

Obrigado pelas respostas rápidas e desculpem só agora responder, mas não estive presente.

Efectivamente, na página apagar existe o código acima para receber o valor do «id», que é o campo auto-incrementado do meu banco de dados.

Quanto ao código, se não maçar muito passo o ficheiro completo:

<?php
require_once('funcoes.php');
conexao();
?>

<table with= "600" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td><strong>Lista de Restaurantes  |  <a href="entrada.php">Voltar à entrada</a></strong></td>
</tr>
</table>
<br>

<?php
ini_set('register_globais',true);


$tbl_name="tascas";

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);

while($rows=mysql_fetch_array($result)) {
?>
<table with= "600" border="0" align="center" cellpadding="0" cellspacing="1"  bgcolor="#00CCCC" >
<tr>
<form id="form1" name="form1" method="post" action="inserir.php">
<td>
<table with= "600" border="0" cellpadding="3" cellspacing="1" bgcolor="#00FF00" >
<tr>
<td width="117">Nome do restaurante</td>
<td width="14"> : </td>
<td width="357"><?php echo $rows['nome']; ?></td>
</tr>
<tr>
<td width="117">Local</td>
<td width="14"> : </td>
<td width="357"><?php echo $rows['local']; ?></td>
</tr>
<tr>
<td width="117">Endereço</td>
<td width="14"> : </td>
<td width="700"><?php echo $rows['endereco']; ?></td>
</tr>
<tr>
<td width="117">Telefone</td>
<td width="14"> : </td>
<td width="357"><?php echo $rows['telefone']; ?></td>
</tr>
<td valign="top"></td>
<td valign="top"></td>
<td>
<a href="apagar.php?id=<?php echo $raws['id']; ?>">Apagar Registo</a></td>
</tr>
</table></td>
</tr>
</table>
<br>
<?php
}
mysql_close();
?>

Na página apagar tenho o código seguinte:

<?php
require_once('funcoes.php');
conexao();
$tbl_name="tascas";

ini_set('register_globais',true);

$sql="delete from $tbl_name where id=".$_GET['id'];
$result=mysql_query($sql);

if ($result) {
echo "Apagado com sucesso";
echo "<BR>";
?>
<td><strong><a href="listar.php">Listar Restaurantes</a></strong></td>
//<a href="listar.php">Listar Restaurantes</a>;
<?php
}
else {
echo "ERRO";
}
mysql_close();
?>

Quanto à ligação ao banco de dados, tudo é feito na perfeição, porque obtenho os valores dos campos na tabela criada.

Mais uma vez, muitíssimo obrigado pela ajuda, pois já estou a dar em doido com este código...

Edited by scorch
Adicionado Geshi. :)
Link to comment
Share on other sites

Caro amigo I-NOZex, muito MUITO OBRIGADO. Realmente resolveu o problema!!!!

Agradeço também o "chazinho", mas apesar de iniciante dá ainda para perceber que $rows é uma variavel e como tal pode ter o nome que lhe quisermos dar (desde que precedida pelo caractere $) só que tem que ter sempre a mesma redacção, pois caso contrário estaria a defenir outra variavel que nada teria a ver com esta que pretendia. Só que, julgo que já lhe terá acontecido, de tanto procurarmos uma coisa "passamos por cima" do erro e mesmo que se revise 500 vezes a percepção é a mesma... Nada como uma leitura externa para a sua detecção!!!!... 🙂 :)

De qualquer modo, estou-vos imensamente grato pela ajuda, pois ao fim de 3 (três) dias às "turras" com este malfadado código - procurava sempre um erro nos comandos e não ortográfico - vi a "luz ao fundo do tunel..."

Mais uma vez MUITO OBRIGADO!!!!!

Link to comment
Share on other sites

eu entendi logo do inicio que devia ser rows pois é um nome de variavel vulgarmente usado para receber querys mysql, rows = linhas (registos)

raws... nem sei se existe xD apenas sei que existe raw mas nao tem nada a haver...

desculpa la se fui duro, mas foi o que me pareceu no caso!

mas sim, sei o que é isso, a minha birra foi (como custuma ser maioritariamente) os ; (ponto & virgula) 😄

mas depois de uns milhares de linhas de codigo, isso ja vem naturalmente!

B2R » Beat2Revolution v3.0b | Regista e divulga-nos

beat2revolution.net
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.