Variável PHP não dá resposta após ser modificada via "link"

Galerinha, criei uma função php que faça trabalhe com o valor de uma variável, $acao, que será modificada via link/barra de endereço e tal…

no caso, se $acao = “(vazio)” --> então aparecerá uma lista
mas, se caso ela for de algum valor —> então aparecerá um .

Mas acontece que a variável não está mudando quando faço dou o comando pelo navegador, por exemplo= …/categoria.php?acao=Algumvalor

Sou novo nessa área, aqui está o código do que falei: Agradeço desde já qualquer ajuda :smiley:

[color=red]<?php if( $acao != “”) {
$sql = mysql_query("SELECT * from categorias Where id_categoria = $id "); ?>[/color]

Categoria:

[color=red]<?php }else{ ?>[/color]

[color=red]<?php
$sql = mysql_query(“select * from categorias”);
while ($coluna = mysql_fetch_array($sql)) { ?>[/color]

[color=red]<?php } ?>[/color]

​código completo:
[color=darkblue]<?php include “config.php”;
?>

Area ADM
Categorias: Ações:
<?php echo $coluna[categoria]?>
<?php include "cabecalho.php"; ?>
<?php include "menu.php"; ?> <?php if( $acao != "") { $sql = mysql_query("SELECT * from categorias Where id_categoria = $id "); ?>
Categoria:
<?php }else{ ?> <?php $sql = mysql_query("select * from categorias"); while ($coluna = mysql_fetch_array($sql)) { ?> <?php } ?>
Categorias: Ações:
<?php echo $coluna[categoria]?>
<?php } ?>
 
[/color]

E estudar PHP, nada?
Quando você passa uma variável através de uma requisição GET (pela URL), você não está definindo o valor de uma variável. Está, simplesmente, inserindo uma nova entrada no array da constante $_GET.
Isso vai te obrigar a obter este valor desta constante.
Como fazer isso? Bem, dê uma pesquisada, creio que não será difícil encontrar milhões de respostas.

deixe o inicio do codigo assim não testei mas acho que ira funcionar

<?php $acao = $_GET['acao']; obs: esta variavel vai fazer o form de cadastro aparecer $id = $_GET['id']; obs: e tbm vi que estava faltando a variavel do id pq sem ela nao ira aparecer o texto quando apertar em alterar resto pode deixar igual if ($acao != "") {