Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Juninho Bill

[Resolvido]  PHP passagem paramêtros

Recommended Posts

Olá pessoal, sou iniciante em PHP e gostaria de uma ajudinha.

Aqui no meu estágio, estou desenvolvendo um sistema pra controle dos IP's das máquinas do setor, na página em que mostro todas as máquinas cadastradas, coloquei dois icones em cada linha da tabela, um para exclusão e um para edição dos dados.

 

Como faço para passar os parametros da linha que foi clicada, para as paginas de edição e exclusão??? Lembrando que para exibir a tabela com todas as maquinas eu uso um while e adiciono os icones através desse mesmo while na tabela.

 

Seguem as duas linhas HTML por onde tenho que passar os valores para as páginas edita.php e deleta.php, e é essa minha duvida, como ficaria o código nas duas páginas seguintes, de exclusão e edição??? Estou quebrando a cabeça e não sai nada... rs

 

CODE
<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="edita.php?id=$SQL[iD]">

<img src="Images/Edit.jpg" border="2"></a></div></td>

 

<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="deletar.php?id=$SQL[iD]">

<img src="Images/Delete.gif" border="2"></a></div></td>

Não sei se fui bem claro, se alguém puder me ajudar agradeço...

 

Obrigado pessoal!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

e so você pegar po $_GET[""] na pagina

 

Então, isso eu já tentei fazer, sem sucesso.

Minha dúvida é como a página seguinte vai reconhecer que eu cliquei em determinada linha da tabela, qual campo eu devo passar como parametro???

 

De qualquer forma, obrigado pela ajuda!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

uai, o id do registro q você keira editar ou apagar? se nao eh isso tente ser mais claro pq n to entendeno oO

 

Vou te mostrar como estou fazendo e não está dando certo, está dando erro de sintaxe SQL.

 

CODE
- Aqui pego o id para passar para a página de edição.

 

<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="edita.php?id='id'"><img src="Images/Edit.jpg" border="2"></a></div></td>

 

- Aqui tento recuperar a id, mas está dando erro de sintaxe.

 

<?

 

$id = $_GET["id"];

 

$conexao = mysql_pconnect("localhost","xxxxx","xxxxxx");

mysql_select_db("SistemaIP",$conexao);

$query = "SELECT id, Patrimonio, IP, Setor, Usuario, Processador, Memoria, HD, SO

FROM protocolosistema WHERE id='" . $id . "'";

$result = mysql_query($query) or die(mysql_error());

$total = mysql_fetch_array($result);

 

echo " | <a href=\"index.php\">Voltar Tela Principal</a><p>";

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça assim

<?php
if (isset ($_GET['id'])) {
	$id = $_GET["id"];
seu código ..
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

- Aqui pego o id para passar para a página de edição.

De onde você pega esse id?

Compartilhar este post


Link para o post
Compartilhar em outros sites

- Aqui pego o id para passar para a página de edição.

De onde você pega esse id?

 

 

Então Roman, aí é que tá minha dúvida, eu tô fazendo um while para exibir os dados na tabela, e nesse mesmo while eu pego o id do banco e coloco no link para mandar para as páginas de edição e exclusão...Mas quando vou excluir um dos registro ele exclui todos os registros que eu havia cadastrado, tá apontando somente para um registro especifico... num sei como fazer para ele apontar somente para a linha que está sendo clicada...

 

Tá mais ou menos assim a tabela:

 

ID Nome Editar Excluir

00 Jose Link1 Link2

01 Joao Link1 Link2

 

Se você conseguiu entender onde eu quero chegar, por favor, me dê uma luz... hehehe

 

Obrigado!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponhamos que o link esteja apontando para:

apagar.php?id=15

Onde 15 é o ID do usuário que eu cliquei para excluir.

 

Esse apagar.php terá que ter um código como esse:

$ID = $_GET["id"];
$consulta = mysql_query("DELETE FROM `tabela` WHERE `id` = '$ID'");

Provavelmente o script não possúi esse WHERE, por isso apaga tudo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Suponhamos que o link esteja apontando para:

apagar.php?id=15

Onde 15 é o ID do usuário que eu cliquei para excluir.

 

Esse apagar.php terá que ter um código como esse:

$ID = $_GET["id"];
$consulta = mysql_query("DELETE FROM `tabela` WHERE `id` = '$ID'");

Provavelmente o script não possúi esse WHERE, por isso apaga tudo!

 

Aí Lvcifer, possui sim, tô com duvidas nisso aqui, dá uma olhada pra ver se está certo, por favor...

 

CODE
<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="confirma_exclusao.php?id=$SQL["id"]"><img src="Images/Delete.gif" border="2"></a></div></td>

Pego o id da minha consulta SQL ($SQL) através de um while... ele deveria pegar o id de cada linha não deveria???

 

Suponhamos que o link esteja apontando para:

apagar.php?id=15

Onde 15 é o ID do usuário que eu cliquei para excluir.

 

Esse apagar.php terá que ter um código como esse:

$ID = $_GET["id"];
$consulta = mysql_query("DELETE FROM `tabela` WHERE `id` = '$ID'");

Provavelmente o script não possúi esse WHERE, por isso apaga tudo!

 

Aí Lvcifer, possui sim, tô com duvidas nisso aqui, dá uma olhada pra ver se está certo, por favor...

 

CODE
<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="confirma_exclusao.php?id=$SQL["id"]"><img src="Images/Delete.gif" border="2"></a></div></td>

Pego o id da minha consulta SQL ($SQL) através de um while... ele deveria pegar o id de cada linha, passar pra pagina onde eu pergunto se o usuario realmente quer excluir e excluir somente uma linha, não deveria???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso tudo está dentro de um echo?

Tem coisa errada aí...

Tente trocar o echo do while por um printf.

E utilize também um caractere de escape em suas aspas, pois senão os PHP as interpretará como parte do comando

printf("<td width=\"20\" align=\"center\" valign=\"center\" style=\"cursor:hand\"><div align=\"center\"><a href=\"confirma_exclusao.php?id=%s\"><img src=\"Images/Delete.gif\" border=\"2\"></a></div></td>", $SQL["id"]);
O printf trocará esse %s pela string, que será o valor pego do database.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o código que você pega esse id

 

Vamos lá, vou postar passo a passo o que estou tentando fazer... com certeza tem várias cagadas, sou muito cabaço ainda....hehehe

 

Aqui pego as informações do banco pra exibir a tela:

 

CODE
$SQL = "SELECT id, Patrimonio, IP, Setor, Usuario, Processador, Memoria, HD, SO

FROM protocolosistema";

$result = mysql_query($SQL) or die(mysql_error());

$total = mysql_num_rows($result);

 

Crio um while pra ele exibir todos os registros, inclusive os links para editar e deletar:

 

while($dados = mysql_fetch_array($result))

{

?>

<tr>

<th align="center" valign="top"><div align="center"><? echo $dados['Patrimonio']; ?></div></th>

<th align="center" valign="top"><div align="center"><? echo $dados['IP']; ?></div></th>

<th align="center" valign="top"><div align="center"><? echo $dados['Setor']; ?></div></th>

<th align="center" valign="top"><div align="center"><? echo $dados['Usuario']; ?></div></th>

<th align="center" valign="top"><div align="center"><? echo $dados['Processador']; ?></div></th>

<th align="center" valign="top"><div align="center"><? echo $dados['Memoria']; ?></div></th>

<th align="center" valign="top"><div align="center"><? echo $dados['HD']; ?></div></th>

<th align="center" valign="top"><div align="center"><? echo $dados['SO']; ?></div></th>

<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="editar.php?id=$SQL["id"]"><img src="Images/Edit.jpg" border="2"></a></div></td>

<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="confirma_exclusao.php?id=$SQL["id"]"><img src="Images/Excluir.jpg" border="2"></a></div></td>

 

Através do link confirma_exclusão, mando para esta página para perguntar se deseja realmente excluir ou cancelar...

 

<html>

<head>

 

<script>

var pergunta=window.confirm("Tem certeza que deseja excluir definitivamente o registro?")

if (pergunta) {

window.location="deletar.php?id=$SQL<?php echo $_GET['id']; ?>"

}

else{

history.go(-1);

}

</script>

 

</head>

<html>

 

Clicando em OK ele envia para esta página que é a de exclusão...

 

<?php

 

if (isset ($_GET['id'])) {

$id = $_GET["id"];

 

// Conexão com o banco de dados

require "conexao.php";

 

$sql = mysql_query ("DELETE FROM protocolosistema WHERE id='$id'") or die (mysql_error());

 

echo "$id deletado";

 

unset($id);

 

print "<script>window.location=('index.php')</script>";

 

}

 

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso tudo está dentro de um echo?

Tem coisa errada aí...

Tente trocar o echo do while por um printf.

E utilize também um caractere de escape em suas aspas, pois senão os PHP as interpretará como parte do comando

printf("<td width=\"20\" align=\"center\" valign=\"center\" style=\"cursor:hand\"><div align=\"center\"><a href=\"confirma_exclusao.php?id=%s\"><img src=\"Images/Delete.gif\" border=\"2\"></a></div></td>", $SQL["id"]);
O printf trocará esse %s pela string, que será o valor pego do database.

Num tá dentro de um echo não, tá fora... dá uma olhada no código que postei acima...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas cara, seu código não funciona porque você está chamando os resultados do database fora do bloco de códigos do PHP!

Para você chamar uma variável, função, definir ou ler strings... no PHP, os códigos deverão obrigatoriamente vir entre <?php ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Velho você terá que colocar isso

<a href="confirma_exclusao.php?id=$SQL["id"]"><img src="Images/Excluir.jpg" border="2"></a>
dentro do seu loop pra ele reconhecer o id de cada item entende? com o detalhe que

$SQL["id"]
na verdade é

$dados['id']

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas cara, seu código não funciona porque você está chamando os resultados do database fora do bloco de códigos do PHP!

Para você chamar uma variável, função, definir ou ler strings... no PHP, os códigos deverão obrigatoriamente vir entre <?php ?>

 

Realmente, está fora do bloco, vou ver se consigo passar pra dentro e ver se dá certo...

 

Valeu!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, que confusão seu código...

Bom, testa isso aqui e veja se funciona, coloquei os links corretamente sem precisar adicionar o HTML todo no bloco:

<?php
$SQL = "SELECT id, Patrimonio, IP, Setor, Usuario, Processador, Memoria, HD, SO
FROM protocolosistema";
$result = mysql_query($SQL) or die(mysql_error());
$total = mysql_num_rows($result);


while($dados = mysql_fetch_array($result))
{
?>
<tr>
<th align="center" valign="top"><div align="center"><? echo $dados['Patrimonio']; ?></div></th>
<th align="center" valign="top"><div align="center"><? echo $dados['IP']; ?></div></th>
<th align="center" valign="top"><div align="center"><? echo $dados['Setor']; ?></div></th>
<th align="center" valign="top"><div align="center"><? echo $dados['Usuario']; ?></div></th>
<th align="center" valign="top"><div align="center"><? echo $dados['Processador']; ?></div></th>
<th align="center" valign="top"><div align="center"><? echo $dados['Memoria']; ?></div></th>
<th align="center" valign="top"><div align="center"><? echo $dados['HD']; ?></div></th>
<th align="center" valign="top"><div align="center"><? echo $dados['SO']; ?></div></th>
<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="editar.php?id=<?php echo $dados["id"]; ?>"><img src="Images/Edit.jpg" border="2"></a></div></td>
<td width="20" align="center" valign="center" style="cursor:hand><div align="center"><a href="confirma_exclusao.php?id=<?php echo $dados["id"]; ?>"><img src="Images/Excluir.jpg" border="2"></a></div></td>
<?php } ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.