Ir para conteúdo
Fórum Script Brasil
  • 0

Transferir Variavel De Php Pelo "<a Href.."


Stronks

Pergunta

Ola a todos. SOu novo aqui no forum e so gostaria de tirar uma duvida pro pessoal aqui que tem muita manha.

Eu estou desenvolvendo uma parte do intranet aqui na empresa onde é postado mensagens dos usuarios.E eu descidi colocar um botão de alteração de mensagens. Ta praticamente pronto...

Eu to usando o "<a href" para abrir a pagina "alterar" e pra enviar o id da mensagem que sera editada, so que este "<a href" repete na pagina inteira, ou seja eu uso um unico "<a href" varias vezes, assim se eu altero a variavel uma vez... todos os "alterar" ficam com esta mesma variavel.

Tem como eu fazer algo diferente?

Olha so como esta esta parte:

phpva6.jpg

Desde já agradeço.

Editado por Stronks
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Assumindo que cada mensagem tenha um número de identificação única, você deve chamar a página de alterar assim:

<a href="alterar.php?id=x">Alterar</a>

Onde id=x diz qual é a mensagem que vai ser editada... note que x é o número que identifica a mensagem... e que esse mesmo número terá que ser usado no momento do update...

Link para o comentário
Compartilhar em outros sites

  • 0

Ola!

Esse é o cofigo de acesso ao banco , while a a tabela que vai escrever na tela:

<table>

<tr>

<p> Mensagens </p><br>

<td>

<a href="envia_msg.php">Adicionar mensagem</a>

<?php //ACESSA O BANCO PARA OBTER O NUMERO DE MENSAGENS

$sql="SELECT * FROM mural";

$query = mysql_query($sql);

$quant = mysql_num_rows($query);

//ACESSA O SERVIDOR PARA OBTER O ULTIMO ID

$sql="select id from mural order by id desc limit 1";

$query = mysql_query($sql);

$ult_id = mysql_fetch_array($query);

//ESCREVE NA TELA O TOTAL DE MENSAGENS

echo("Há um total de : ");echo($quant);echo(" mensagens.");

$i=$ult_id['id'];

$continua=TRUE;

// $sql = " ALTER TABLE `mural` ORDER BY `id` ";

//inicio da repetição

while ($i<>0){

$sql = "SELECT * FROM mural WHERE id<='$i' ORDER BY `id` DESC";

$id=$i;

$i--;

$resultado = mysql_query($sql);

$linha = mysql_fetch_array($resultado);

//APENAS CONVERTE O FORMATO DA DATA

$var = $linha['data];

$var = explode(" ",$var);

$dia = $var[0];

$dia = explode("-",$dia);

$data = "$dia[2]/$dia[1]/$dia[0]";

//FIM DA CONVERSAO

//CONDIÇÃO PARA ESCREVER AS MENSAGENS NA TELA

if ($linha['mensagem']<>NULL and $i+1==$linha['id']){

?>

</td>

</tr>

</table>

<table border=0" width="100%" >

<tr ><td bgcolor="navy" colspan="3" width="100%">&nbsp;</td></tr>

<tr >

<td width=" 10%"><b>Assunto:</b></td>

<td><? echo $linha['assunto]; ?></td>

<? if ($login==$linha['user']){?>

//AQUI É ONDE FICA O "ALTERAR"

<td width="10%"> <a href="altera_mural.php?" title="Altera" >Alterar</a>

<? } ?>

</tr>

<tr>

<td width=" 10%"><b>Data:</b></td>

<td ><? echo $data; ?></td>

</tr>

<tr>

<td width=" 10%"><b>Remetente:</b></td>

<td><? echo $linha['user]; ?></td>

</tr>

<tr>

<td width=" 10%" height="10%" ><b>Mensagem:</b></td>

<td><?php echo $linha['mensagem'];?></td>

</tr>

<tr>

<td width=10%"><b>Numero:</b></td>

<td><? echo $linha['id]; ?></td>

</tr>

</table>

<? }

else {

$continua=FALSE;

}

}

?>

</div>

Editado por Stronks
Link para o comentário
Compartilhar em outros sites

  • 0

Essa linha aqui:

<td width="10%"><td width="10%"> <a href="altera_mural.php?" title="Altera" >Alterar</a>

você precisar passar uma query_string por esse link que identifique o registro do banco que você quer alterar...

Tipo, na tabela mural tem o campo 'id', então você vai fazer o link passar o id: <td width="10%"> <a href="altera_mural.php?id=<? echo $linha['id'];?>" title=Altera" >Alterar</a>

Aí na página que irá alterar o registro você recupera o valor com $_GET["id];

entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0
Assumindo que cada mensagem tenha um número de identificação única, você deve chamar a página de alterar assim:

<a href="alterar.php?id=x">Alterar</a>

Onde id=x diz qual é a mensagem que vai ser editada... note que x é o número que identifica a mensagem... e que esse mesmo número terá que ser usado no momento do update...

Opa deu certo... MUITO OBRIGADO a voces 2!! :lol:

Editado por Stronks
Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que entendi ele só vai ver qual é o ultimo id, pra fazer uma comparação com zero né isso? pra saber quantas vezes ele vai rodar no while, né isso?

acho desnecessário de for apenas isso.... tenta assim:

<table>
<tr>
<p> Mensagens </p><br>
<td>
<a href="envia_msg.php">Adicionar mensagem</a>
<?php //ACESSA O BANCO PARA OBTER O NUMERO DE MENSAGENS
$sql="SELECT * FROM mural";
$query = mysql_query($sql);
$quant = mysql_num_rows($query);

echo("Há um total de : ");echo($quant);echo(" mensagens.");

// CONSULTA TODOS

$consulta = mysql_query("SELECT * FROM mural ORDER BY id DESC"); 
//inicio da repetição
while ($linha = mysql_fetch_array($consulta)){ 

//APENAS CONVERTE O FORMATO DA DATA
$var = $linha['data'];
$var = explode(" ",$var);
$dia = $var[0];
$dia = explode("-",$dia);
$data = "$dia[2]/$dia[1]/$dia[0]";
//FIM DA CONVERSAO

?>
</td> 
</tr>
</table>
<table border="0" width="100%" >
<tr ><td bgcolor="navy" colspan="3" width="100%">&nbsp;</td></tr>
<tr >
<td width=" 10%"><b>Assunto:</b></td>
<td><? echo $linha['assunto']; ?></td>
<? if ($login==$linha['user']){?>
//AQUI É ONDE FICA O "ALTERAR"
<td width="10%"> <a href="altera_mural.php?id=<? echo $linha['id'];?>" title="Altera" >Alterar</a>
<? } ?>
</tr>
<tr>
<td width=" 10%"><b>Data:</b></td>
<td ><? echo $data; ?></td>
</tr>
<tr>
<td width=" 10%"><b>Remetente:</b></td>
<td><? echo $linha['user']; ?></td>
</tr>
<tr>
<td width=" 10%" height="10%" ><b>Mensagem:</b></td>

<td><?php echo $linha['mensagem'];?></td> 
</tr>
<tr>
<td width="10%"><b>Numero:</b></td>
<td><? echo $linha['id']; ?></td>
</tr>
</table>

<? 
}
?>

</div>

O pessoal geralmente segue esse padrão, testa aí

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...