Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Condicional gigante... if

30-09-2010 18:06

Olá pessoal, estou com um problema que me cerca há dias...

Estou montando um sisteminha para um portal de propaganda, onde as empresas se cadastrarão nas categorias certas e o site exibirá as informações sobre as mesmas.

Bom, estou utilizando URL amigável, e uma página "index.php" que processará todas as informações. Até aí tudo perfeito.

O problema está quando o usuário acessar uma sub-categoria, não estou conseguindo colocar isso em prática.

O código é +/- assim:
index.php
... if ($url_amigavel[1] != "") { if (($url_amigavel[0] == "carros") xor ($url_amigavel[0] == "motos") xor ($url_amigavel[0] == "categoria3") xor ($url_amigavel[0] == "xxx") xor ($url_amigavel[0] == "yyy") and ($url_amigavel[1] == "sub-categoria1") or ($url_amigavel[1] == "sub-categoria2")) { echo "categoria ativada"; } } ...

Em tese era para funcionar, só que há umas 35 categorias e umas 100 sub-categorias. Gostaria de saber se há a possibilidade de fazer um include em um arquivo que contenha essa parte com todas as categorias, do tipo: if (include('categorias.inc') and include('sub_categorias.inc')) {... não funciona.
Na realidade, eu quero que o script funcione da seguinte maneira, se $url_amigavel[1] for igual a uma das 70 subcategorias, ele exibe uma determinada página, se não, exibirá a das categorias... Já tentei de inúmeras maneiras, mas não obtive sucesso.

Obs.: O código é +/- esse, é que estou sem ele no momento... + acho que consegui passar a minha ideia... Espero e muito a ajuda de vocês...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17547
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Condicional gigante... if

30-09-2010 18:31

O que você poderia fazer é colocar as subcategorias em um array, e depois verificar se a subcategoria passada está no array.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Condicional gigante... if

01-10-2010 10:38

Olá Kléber, como vão as coisas? Então, obrigado pela ajuda primária!

Bom, gostaria de saber como ficaria +/- esse código com array... Eu não tenho certeza, mas o array ficaria assim:
<? $categorias = array( "1a_categoria", "categoria_2", "categoria_3a", "outra_categoria" ); $sub_categorias = aaray ( "sub_categoria1", "2a_sub_categoria", "subcategoria_num_3", "subcategoria_tal" ); if ($url_amigavel[1] != "") { for ( $i = 0 ; $i <= 3 ; $i++ ) { if ($url_amigavel[1] == $sub_categorias[$i]) { echo "deu certo subcategorias..."; } else { ... } } } ?>

A minha dúvida é se o FOR vem depois da condição "se a url é diferente de vazio" ou vem antes... Estou sem o código no momento para testar.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17547
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Condicional gigante... if

01-10-2010 13:23

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Condicional gigante... if

01-10-2010 14:02

Sim, mas isso é antes ou depois do "if"???

Pelo que eu pude entender (eu não sou um programador de verdade), com o in_array eu irei verificar um por um se são iguais ou não, na realidade, eu só quero saber se o $url_amigavel[0] faz parte de uma lista e o $url_amigavel[1] também...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17547
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Condicional gigante... if

01-10-2010 14:05

No exemplo no link tem

<?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Got Irix"; } if (in_array("mac", $os)) { echo "Got mac"; } ?>

Essa são as opções que tem cadastrada, você pode até obter esses itens do bd por exemplo

$os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) {

Esse Irix, seria esse valor que irá ser comparado com os itens da lista
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 50 postagens
Mais de 50 postagens
Tópico Autor
Mensagens: 69

Condicional gigante... if

02-10-2010 13:12

Deu certo Kleber, muito obrigado!

Ficou assim:
if ($url_amigavel[1] != "") { $os = array("supermercados","pizzarias","restaurantes", "..."); if (in_array($url_amigavel[1], $os)) { echo "DEU CERTO"; } else { echo "NAO DEU CERTO"; }

Mais uma vez, obrigado pela ajuda Kleber...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17547
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Condicional gigante... if

02-10-2010 19:23

Boa.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado