• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

mohican

div dinamica

7 mensagens neste tópico

boa noite,

cá está o verdinho outra vez :biggrin:

estou a fazer um site, em que quero uma div dinamica, dependendo do menu que o user carregar. o que tenho é isto:

index.html

<ul id="nav">
	  <li class="b" <a href="index.php">Home</a></li>
	  <li id="link" class="a"><a href="index.php?id=1">Hobbies</a></li>
	  <li id="linkDois" class="d"><a href="index.php?id=2">Gallery</a></li>
	  <li id="linkTres" class="c"><a href="index.php?id=3">Contact</a></li>

mais abaixo, dentro da div dinamica, tenho:

<?php
if (isset($_GET['id']) == NULL)
{
	  include 'home.php';
}
else {
  switch($_GET['id'])
  {
case 1:
	  include 'hobbies.php';
case 2:
	include 'gallery.php';
case 3:
	include 'contact.php';
 }						
}
?>

a minha questão é... se esta é a melhor maneira de o fazer. e se há por aí "soluções" melhores..

porque tenho outras divs estaticas no site e quando são "usadas" a div dinamica volta sempre à inicial, home.php :(

espero que me tenha explicado bem :cheesygrin:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso que aí tens funciona. E se der para os teus gastos então não há razão nenhuma para não o usares.

Se te começares a deparar com muita logica de aprensentação metida no teu código, então é usar um sistema de templates. É a evolução natural de uma aplicação web de pequena dimensão.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e o include é o melhor a usar neste caso?

onde posso ver umas coisitas mais sobre sistemas de templates?

obrigado pedro  :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se é o melhor não sei. Que funciona perfeitamente e que está aí utilizado da forma típica que é usado e que vem nos livros, isso sim, está.

Sobre templates tens aqui um exemplo simples no nosso wiki:

http://wiki.portugal-a-programar.pt/dev_web:php:sistema_minimalista_de_tempaltes

Isso dá-te basicamente uma ideia do que são templates e como ajudam a manter tudo muito mais arrumadinho.

Depois há mil e uma teorias, uns preferem sistemas de templates com tantas funcionalidades que são eles prórpios uma linguagem, outros não podem ouvir falar em sistemas de tempaltes porque dizem que o php é quanto basta. Outro há que dizem que os templates devem separar a lógica de apresentação da lógica aplicacional, enqaunto que outros dizem que o que deve ser separado é simplesmente o código php do HTML.

Não sei, uma coisa é certa, o que gostas mais e te dá mais jeito é concerteza O MELHOR para ti, independentemente de teorias.

Um conselho que dou que é basicamente a melhor forma de aprender programação na minha opinião:

Pega num projecto que conheças que use uma coisa semelhante ao que queres, e esmifra o código fonte, vê como é que eles fazem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

penso que por agora isto me chega, de qualquer das maneiras vou dar uma vista de olhos nisso  :)

obrigado! abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

EU nesse PHP até te sugeria usares apenas o switch:

<?php
      switch($_GET['id'])
      {
  case 1:
       include 'hobbies.php';
       break;
  case 2:
     include 'gallery.php';
     break;
  case 3:
     include 'contact.php';
     break;
  default:
     include 'home.php';
   }                 
}
?>

Para além de te tornar o código mais simples, ainda te carrega a pagina home, no caso de o utilizador colocar uma baboseira qualquer la, ou não colocar nenhum valor no GET['id']

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

softclean obrigado! desconhecia o default, mas até dá jeito :thumbsup:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora