Jump to content
cota soares

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

Recommended Posts

cota soares

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.

Share this post


Link to post
Share on other sites
oxyzero

O que é exatamente o

$raws['id'];

? Onde é que registas esse valor? (o id não te aparece porque ele está a assumir que não tens nenhum valor nesse array)

Share this post


Link to post
Share on other sites
munkbozz
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

Share this post


Link to post
Share on other sites
cota soares

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. :)

Share this post


Link to post
Share on other sites
cota soares

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!!!!!

Share this post


Link to post
Share on other sites
I-NOZex

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) :D

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


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

beat2revolution.net

Share this post


Link to post
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

×
×
  • 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.