Jump to content
mikeysantana

Várias páginas com link semelhante

Recommended Posts

mikeysantana

Boa tarde,

Gostaria de fazer uma página do tipo "dominio.com/pagina.php?id=XXX" onde XXX seria um número diferente que fazia mostrar conteúdo diferente de cada vez. O link não precisa de ser tal e qual mas ideia seria esta. Tentei procurar no Google mas não achei nada concreto e gostaria de saber se alguém aqui na comunidade já teve alguma experiência a programar este tipo de coisas.

Tenho uma base de dados MySQL de onde seriam captados os dados para preencher a página e estariam dependentes do valor XXX que é igual à coluna "ID" da minha BD com a função Auto Increment ativada.

Não sei se fui muito claro. Se precisarem de saber mais algumas coisas para perceber melhor, estejam à vontade. Fico a aguardar uma ajuda.

Abraço,

mikeysantana

Share this post


Link to post
Share on other sites
jacreis

Possa que confusão que vai para ai...

29 minutos atrás, mikeysantana disse:

Tentei procurar no Google mas não achei nada concreto

É porque não procuraste bem... há ~2,820,000 entradas no google sobre como seleccionar uma informação de uma BD e apresentar o resultado.

https://www.google.com/search?q=php+select+from+mysql&oq=php+select+from+&aqs=chrome.1.69i57j0l5.3727j0j7&sourceid=chrome&ie=UTF-8

Nem vou falar sobre entradas neste forum...

30 minutos atrás, mikeysantana disse:

gostaria de saber se alguém aqui na comunidade já teve alguma experiência a programar este tipo de coisas

Provavelmente sim... a questão parece ser bastante trivial.

Olha aqui mais info: https://dev.mysql.com/doc/refman/5.7/en/select.html


---
 

Share this post


Link to post
Share on other sites
mikeysantana
38 minutos atrás, jacreis disse:

Possa que confusão que vai para ai...

É porque não procuraste bem... há ~2,820,000 entradas no google sobre como seleccionar uma informação de uma BD e apresentar o resultado.

https://www.google.com/search?q=php+select+from+mysql&oq=php+select+from+&aqs=chrome.1.69i57j0l5.3727j0j7&sourceid=chrome&ie=UTF-8

Nem vou falar sobre entradas neste forum...

Provavelmente sim... a questão parece ser bastante trivial.

Olha aqui mais info: https://dev.mysql.com/doc/refman/5.7/en/select.html

A ironia esteve muito bem, mas se calhar não esteve à altura do que pedia.

Numa coisa fui claro. Queria que o "?id=XXX" refletisse os resultados de apenas a linha XXX e mais nada.

Nas pesquisas que sugeriste não me pareceu encontrar nada disso, ou pelo menos tão explícito como esperava, ou então fui mesmo eu, que como sou um novato nisto também, não percebi o que estava lá. 

Edited by mikeysantana

Share this post


Link to post
Share on other sites
jacreis

A minha ironia é contra a preguiça...

Ora vai lá ler o 2º link que te mandei nem precisas de fazer scroll a mais do que 1/4 da página, e aprendes a tirar elementos de uma base de dados,

E no 1º link tens muitos exemplo de como ler os dados da base de dados. Agora podem não ser exactamente iguais ao que tu queres, mas são bastante semelhantes...

Para encontrares a resposta ao teu problema deverias antes de mais ler sobre o assunto e apresentar uma dúvida concreta. Não deverias andar a procura de pessoas que resolvam os problemas por ti!

Eu, e provavelmente mtos outros, estou aqui para ajudar não para trabalhar por ti!

 


---
 

Share this post


Link to post
Share on other sites
mikeysantana
18 horas atrás, jacreis disse:

A minha ironia é contra a preguiça...

Ora vai lá ler o 2º link que te mandei nem precisas de fazer scroll a mais do que 1/4 da página, e aprendes a tirar elementos de uma base de dados,

E no 1º link tens muitos exemplo de como ler os dados da base de dados. Agora podem não ser exactamente iguais ao que tu queres, mas são bastante semelhantes...

Para encontrares a resposta ao teu problema deverias antes de mais ler sobre o assunto e apresentar uma dúvida concreta. Não deverias andar a procura de pessoas que resolvam os problemas por ti!

Eu, e provavelmente mtos outros, estou aqui para ajudar não para trabalhar por ti!

 

Tenho aqui uma situação que não estou a perceber.

Pesquisei por "one file multiple pages php" e já apareceu aquilo que queria.

Entretanto segui alguns dos tutoriais e obtive isto:

Só para esclarecer um pouco, tenho uma tabela com o nome "Individuos" cujas colunas têm os nomes das variáveis que atribuí. Não sei porquê mas tive de separar em 2 códigos PHP, porque a página ao abrir dava erro 500 quando estes estavam juntos.

<?php
   	$id = $_GET['id']
?>
<?php	
	$link = mysql_connect("localhost", "user", "pass"); mysql_select_db("bd", $link);

	$NomeIndividuo = mysql_query("SELECT NomeIndividuo FROM Individuos WHERE ID = '$id'", $link);
	$IDCivilIndividuo = mysql_query("SELECT IDCivilIndividuo FROM Individuos WHERE ID = '$id'", $link);
	$ValIDCivilIndividuo = mysql_query("SELECT ValIDCivilIndividuo FROM Individuos WHERE ID = '$id'", $link);
	$DataNascimentoIndividuo = mysql_query("SELECT DataNascimentoIndividuo FROM Individuos WHERE ID = '$id'", $link);
?>

Dentro do formulário, desabilitei a edição dos campos e coloquei os "supostos" valores dentro dos campos assim:

<div class="col-md-12">
   <div class="form-group">
     <label for="NomeIndividuo">Nome do indivíduo</label>
     <input type="text" class="form-control" value="<?php echo $NomeIndividuo ?>" disabled>
   </div>
</div>

Existe algum problema que não estou a conseguir identificar, pois quando abro a página os campos aparecem vazios. O que está mal?

Share this post


Link to post
Share on other sites
jacreis

OK... menos mal.

Agora as minhas considerações:

1º - nem tudo o que lês na interweb é a melhor solução, no teu caso não foste copiar a melhor fonte. O código que estás a utilizar não é considerado obsoleto : vê http://php.net/manual/en/function.mysql-connect.php

2º porquê é que estás a fazer 4 querys a BD invês de só 1? A mim parece-me um desperdício!

3º Quando obténs os dados do $_GET ( ou outras variáveis do género ) deves sempre limpar, senão corres alguns riscos de segurança com a tua aplicação : vê http://php.net/manual/en/function.filter-input.php

4º Devias certificar-te que não está a ocorrer nenhum erro nos teus querys: http://php.net/manual/en/function.mysql-error.php

se <?php echo $NomeIndividuo ?> não dá nenhum output, sugere que existe um erro nos querys

---Update---

<?php
   	$id = $_GET['id']
?>

deveria ser:

<?php

$id= $_GET['id'];

?>

 

Edited by jacreis
Melhoria de resposta

---
 

Share this post


Link to post
Share on other sites
Uemerson Santana
Em 02/08/2017 às 15:51, mikeysantana disse:

Tenho aqui uma situação que não estou a perceber.

Pesquisei por "one file multiple pages php" e já apareceu aquilo que queria.

Entretanto segui alguns dos tutoriais e obtive isto:

Só para esclarecer um pouco, tenho uma tabela com o nome "Individuos" cujas colunas têm os nomes das variáveis que atribuí. Não sei porquê mas tive de separar em 2 códigos PHP, porque a página ao abrir dava erro 500 quando estes estavam juntos.


<?php
   	$id = $_GET['id']
?>
<?php	
	$link = mysql_connect("localhost", "user", "pass"); mysql_select_db("bd", $link);

	$NomeIndividuo = mysql_query("SELECT NomeIndividuo FROM Individuos WHERE ID = '$id'", $link);
	$IDCivilIndividuo = mysql_query("SELECT IDCivilIndividuo FROM Individuos WHERE ID = '$id'", $link);
	$ValIDCivilIndividuo = mysql_query("SELECT ValIDCivilIndividuo FROM Individuos WHERE ID = '$id'", $link);
	$DataNascimentoIndividuo = mysql_query("SELECT DataNascimentoIndividuo FROM Individuos WHERE ID = '$id'", $link);
?>

Dentro do formulário, desabilitei a edição dos campos e coloquei os "supostos" valores dentro dos campos assim:


<div class="col-md-12">
   <div class="form-group">
     <label for="NomeIndividuo">Nome do indivíduo</label>
     <input type="text" class="form-control" value="<?php echo $NomeIndividuo ?>" disabled>
   </div>
</div>

Existe algum problema que não estou a conseguir identificar, pois quando abro a página os campos aparecem vazios. O que está mal?

Bom dia, tudo bem?

Segue o código otimizado para o PHP 7:

<?php
       $id = $_GET['id']
?>
<?php    
    $link = mysqli_connect("localhost", "user", "pass") or trigger_error(mysqli_error($GLOBALS["___mysqli_ston"]),E_USER_ERROR);

    mysqli_select_db("bd", $link);

    $NomeIndividuo = mysqli_query($link,"SELECT NomeIndividuo FROM Individuos WHERE ID = '$id'");
    $IDCivilIndividuo = mysqli_query($link,"SELECT IDCivilIndividuo FROM Individuos WHERE ID = '$id'");
    $ValIDCivilIndividuo = mysqli_query($link,"SELECT ValIDCivilIndividuo FROM Individuos WHERE ID = '$id'");
    $DataNascimentoIndividuo = mysqli_query($link,"SELECT DataNascimentoIndividuo FROM Individuos WHERE ID = '$id'");
?>

 

Share this post


Link to post
Share on other sites
jacreis

Ois,

e porque não:

$row = mysqli_query($link,"SELECT NomeIndividuo, IDCivilIndividuo, ValIDCivilIndividuo, DataNascimentoIndividuo FROM Individuos WHERE ID = '$id'");


 


---
 

Share this post


Link to post
Share on other sites
Uemerson Santana
4 hours ago, jacreis said:

Ois,

e porque não:


$row = mysqli_query($link,"SELECT NomeIndividuo, IDCivilIndividuo, ValIDCivilIndividuo, DataNascimentoIndividuo FROM Individuos WHERE ID = '$id'");


Verdade!

 

Share this post


Link to post
Share on other sites
HappyHippyHippo
5 hours ago, Uemerson Santana said:

Bom dia, tudo bem?

Segue o código otimizado para o PHP 7:


<?php
       $id = $_GET['id']
?>
<?php    
    $link = mysqli_connect("localhost", "user", "pass") or trigger_error(mysqli_error($GLOBALS["___mysqli_ston"]),E_USER_ERROR);

    mysqli_select_db("bd", $link);

    $NomeIndividuo = mysqli_query($link,"SELECT NomeIndividuo FROM Individuos WHERE ID = '$id'");
    $IDCivilIndividuo = mysqli_query($link,"SELECT IDCivilIndividuo FROM Individuos WHERE ID = '$id'");
    $ValIDCivilIndividuo = mysqli_query($link,"SELECT ValIDCivilIndividuo FROM Individuos WHERE ID = '$id'");
    $DataNascimentoIndividuo = mysqli_query($link,"SELECT DataNascimentoIndividuo FROM Individuos WHERE ID = '$id'");
?>

 

este código não tem nada do que o PHP7 veio trazer de novo. isto para não falar que o processo de verificação se a ligação foi correctamente estabelecida está errado

http://php.net/manual/en/mysqli.construct.php

o constructor retorna sempre um objecto, logo o trigger_error nunca é chamado ...

(o link tem códigos exemplos de como se deve fazer)

 

e já que queres fazer "review" ao código, deveriam, pelo menos, apresentar prepared statements


IRC : sim, é algo que ainda existe >> #p@p

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.