Ir para conteúdo

POWERED BY:

Arquivado

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

Alaerte Gabriel

Clicando no link para visualizar cadastro completo

Recommended Posts

Olá pessoal, visto que o possoal pergunta muito como faz aquele esquema de clicar no título da notícia e então apartir do link vai para a notícia ou dados completos, resolvi demonstrar aqui um código bem rápido e simples para que estão com essa dificuldade http://forum.imasters.com.br/public/style_emoticons/default/grin.gif vamos lá ?

 

Criando a tabela:

CREATE TABLE `linkando` (
`id` SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome` VARCHAR( 25 ) NOT NULL ,
`idade` INT( 3 ) NOT NULL ,
`sexo` ENUM( 'm', 'f' ) NOT NULL
) ENGINE = MYISAM


INSERT INTO `linkando` (`id`, `nome`, `idade`, `sexo`) VALUES
(1, 'Alaerte Gabriel', 18, 'm');
Com nossa página criada, vamos a nossa página encarregada de exibir apenas uma parte dos dados que estão na base de dados, para que apartir de um link poder-mos visualizar todos os dados referente ao link:

 

index.php

<?php
//Definimos os dados para conexao com o banco de dados mysql.
define("HOST","localhost");
define("USU","USUARIO AQUI"); //usuário do database aqui
define("PASS","SENHA AQUI");// senha usada para cesso ao banco de dados
define("BASE","BASE DE DADOS AQUI");// nome da base de dados
//Conectatmos com a base de dados de acordo os dados assima.
$cn=mysql_connect(HOST,USU,PASS)or die(mysql_error());
mysql_select_db(BASE,$cn)or die(mysql_error());
//Fazendo a busca apenas do ID e do nome no db.
$busca=mysql_query("SELECT id,nome FROM linkando")or die(mysql_error());
//verifico se existe dados dentro da tabela.
if(!mysql_num_rows($busca)){// se não tiver, ele imprime um erro.
echo 'Nenhum dado cadastrado na base de dados.';
}else{
while($ver=mysql_fetch_row($busca)){
$id=$ver[0]; //corresponde ao campo ID, pois estamos trabalhando com vetor.
$nome=$ver[1];//corresponde ao campo nome.

echo $nome." <a href=perfil.php?perfil=$id>Perfil</a>";
}
}
?>
Feito isso, vamos a página encarregada de exibir todas as informações referente ao link que clicamos na index.php

 

perfil.php

 

<?php
//Definimos os dados para conexao com o banco de dados mysql.
define("HOST","localhost");
define("USU","USUARIO AQUI");
define("PASS","SENHA AQUI");
define("BASE","NOME DA BASE DE DADOS AQUI");
//Conectatmos com a base de dados de acordo os dados assima.
$cn=mysql_connect(HOST,USU,PASS)or die(mysql_error());
mysql_select_db(BASE,$cn)or die(mysql_error());

//Aqui pegamos o valor da variável perfil do  link da página index.php
$id=(int($_GET['perfil']);
//Aqui buscamos os dados apenas do perfil clicado na página index.php
$perfil=mysql_query("SELECT * FROM linkando WHERE id='$id'")or die(mysql_error());

//listando o perfil completo
$dados=list($nome,$idade,$sexo)=mysql_fetch_row($perfil)or die(mysql_error());

if($dados[3] == 'm'){ $sexo='Masculino';}else{$sexo='Feminino';}
echo '<h1>Perfil do usuário'.$dados[1].'</h1><p>';
echo 'Nome:'.$dados[1].'<br>Idade:'.$dados[2].'<br>Sexo:'.$sexo.'<br></p>';
?>

Pronto pessoal, lembrando que é apenas para demonstrar a lógica de como faz esse tipo de link certo ?

espero ter ajudado. http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif FONTE: Web Aplicações

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, cara! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Acho que ajudará bastante os iniciantes.

 

Só uma dica: visando a mais segurança, eu trocaria esta linha:

$id=$_GET['perfil'];

por esta:

$id = (int)$_GET['perfil'];

Isso assegurará que um número será passado para a consulta SQL, evitando SQL Injection. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bacana, mas me deparei com uma duvida, como faria para deixar um nome abairo do outro na index.php?

 

Ex.:

 

werdeson Silva perfil

Daiane Colares Perfil

 

e assim por diante

 

Se não for pedir demais, gostaria de saber se é possivel colocar tipo uma data e hora antes do nome, com isso eu conseguiria montar um sistema de noticias bacana!

 

 

Valeu galera!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim é possível implantar o sistema de data e hora.

 

enquanto aos nomes em baixo do outro, basta inserir quebra de linha, <br />... não tem dificuldade...

 

echo $nome." <a href=perfil.php?perfil=$id>Perfil</a><br />";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha tenho um sistema de notícias em meu site...

Tenho uma dúvida que acho que outros têm... se puder me dar uma dica..

 

A página de cadastro tem os campos id , título, texto (assim como é a tabela)

 

Na página EDITOR_MOSTRA.PHP tem o seguinte código:

<?php$conexao = mysql_connect("localhost","",""); //Faz conexão com o mysql
$db = mysql_select_db(""); //Seleciona o banco de dados 
$sql = "SELECT * FROM editor"; //Faz o select de todos os registros
$query = mysql_query($sql) or die(mysql_error()); //Verifica se o comando foi executado
// mostra a tabela com as notícias
echo"<table border='1'>
			 <tr><td>Últimas Notícias</td>
			 </tr>";
while ($linha=mysql_fetch_array($query)) {
$id = $linha["id"];
$titulo = $linha["titulo"];
$texto = $linha["texto"];
echo"<tr><td><a href='editor_detalhe.php?id=$id'>$texto</a></td>
	  </tr>";
}
echo "</table>";
?>

Na página EDITOR_DETALHE.PHP tem o seguinte:

 

<?php
$conexao = mysql_connect("localhost","",""); //Faz conexão com o mysql
$db = mysql_select_db(""); //Seleciona o banco de dados
  $id_select = $_GET['id']; //Recupera a variavel id para fazer o select
$sql_texto = "SELECT * FROM editor where id=$id_select"; //Faz o select de todos os registros
$query_texto = mysql_query($sql_texto) or die(mysql_error()); //Verifica se o comando foi executado
$row_texto = mysql_fetch_assoc($query_texto);
$id = $row_texto['id'];
$texto = $row_texto['texto'];
// mostra a tabela
echo"<table border='0' align='center' width='620'> 
		<tr><td>$texto</td></tr>
		</table>";
?>

É o seguinte.

Eu queria que cada notícia aparecesse em uma página ou então um jeito de chamar o Texto correspondente a aquele id.

 

Por exemplo.

Se eu cadastro uma notícia que gera um ID=10

eu queria chamar em uma página o texto da notícia de ID=10.

 

Isso é possível???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendo, mais você já está fazendo isso... quer uma página para cada notícia ? não faz sentido e nem é o viável, por isso trabalhamos com query string no php, para evitar justamente a criação de várias páginas para cada notícia.

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.