Jump to content


Photo

Php Reconhcer Trecho Da Url


  • Faça o login para participar
8 replies to this topic

#1 Will C

Will C

    Turista

  • Usuários
  • 34 posts
  • Sexo:Masculino
  • Localidade:Montenegro

Posted 22/10/2010, 09:53

Preciso de uma variável lógica para trocar a classe de uma div, até ai tranquilo, porém eu preciso que o php reconheça apenas um trecho da URL, se contem um trecho específico

e pra cada um uma classe diferente

exemplificando

index.php?search_generic_category=13&valor_min=&valor_max=&option=com_cckjseblod&view=search&layout=search&task=search&Itemid=10&searchid=2&templateid=1

classe 1

index.php?search_generic_category=14&valor_min=&valor_max=&option=com_cckjseblod&view=search&layout=search&task=search&Itemid=10&searchid=2&templateid=1

classe 2

A parte qe importa é só a que está de cor diferente, o resto da URL pode ser alterada sem que se altere a classe

alguém tem alguma luz ?

Valeu
Will C.

#2 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 22/10/2010, 16:48

talvez um switch?

$cat = $_GET['search_generic_category'];

switch($cat){
case 1:
.
.
.
break;
default:
.
.
.
break;

Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||

#3 Fábio Web Arts

Fábio Web Arts

    Web IN Arts

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:No Saco De Magé
  • Interesses:Tudo que for da área de Informática

Posted 23/10/2010, 08:56

depende as vezes eu pode usar em uma consulta:

$sgc = $_GET['search_generic_category'];
$qry_cons = mysql_query("SELECT * FROM generic_category WHERE id_gen_cat = ".$sgc."") or die (mysql_error());
...


#4 Will C

Will C

    Turista

  • Usuários
  • 34 posts
  • Sexo:Masculino
  • Localidade:Montenegro

Posted 25/10/2010, 09:08

<?php
$cat = $_GET['search_generic_category'];

switch($cat){
case 13:
$catname = casa;

break;
case 14:
$catname = carro;

default:
$catname = none;

break;
?>

<div id="header" class="<?php this->$catname; ?>" >
</div>


assim não funciona, o que tem de errado ?
Will C.

#5 Fábio Web Arts

Fábio Web Arts

    Web IN Arts

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:No Saco De Magé
  • Interesses:Tudo que for da área de Informática

Posted 25/10/2010, 09:57

tenta assim:


<?php
$cat = $_GET['search_generic_category'];

if($cat=="13"){
$catname = casa;
}elseif($cat=="14"){
$catname = carro;
}else{
$catname = none;
}
?>

<div id="header" class="<?php echo $catname; ?>" >
</div>



eu mudei de switch para if e mudei o this->$catname para echo $catname pois acho que o this e quando se esta usando orientado a objeto!!

#6 Will C

Will C

    Turista

  • Usuários
  • 34 posts
  • Sexo:Masculino
  • Localidade:Montenegro

Posted 25/10/2010, 11:05

tenta assim:


<?php
$cat = $_GET['search_generic_category'];

if($cat=="13"){
$catname = casa;
}elseif($cat=="14"){
$catname = carro;
}else{
$catname = none;
}
?>

<div id="header" class="<?php echo $catname; ?>" >
</div>



eu mudei de switch para if e mudei o this->$catname para echo $catname pois acho que o this e quando se esta usando orientado a objeto!!



Boa mano...
deu certinho

Valuezão
Já dei os pontos pro pessoal do tópico
Abraço
Will C.

#7 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 25/10/2010, 13:19

Apenas um adendo...

o switch seria mais rapido que o if se as condições fossem em numero maior.
Por sexemplo se tivessemos 10 categorias diferentes, seria mais facil fazer(e o php interpretaria mais rapido):
$cat = $_GET['categoria'];

switch($cat){
case 1:
. . .
break;
case 2:
...
break;
case 3:
...
break;
case 4:
...
break;
case 5:
...
break;
case 6:
...
break;
case 7:
...
break;
case 8:
...
break;
case 9:
...
break;
case 10:
...
break;
default:
...
break;

do que:

$cat = $_GET['categoria'];
if($cat == 1){
...
}elseif($cat == 2){
...
}elseif($cat == 3){
...
}elseif($cat == 4){
...
}elseif($cat == 5){
...
}elseif($cat == 6){
...
}elseif($cat == 7){
...
}elseif($cat == 8){
...
}elseif($cat == 9){
...
}elseif($cat == 10){
...
}elseif($cat == 2){
...
}else{
...
}

Além do código ser mais rapido de ser executado, é mais facil de digitar. fica a dica =)
Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||

#8 Fábio Web Arts

Fábio Web Arts

    Web IN Arts

  • Usuários
  • 299 posts
  • Sexo:Masculino
  • Localidade:No Saco De Magé
  • Interesses:Tudo que for da área de Informática

Posted 25/10/2010, 14:53

nao bele pow!! e que eu gosto do if!! :)

mais tipo eu prefiro usar querystring entende... pegar o id e fazer consultas no banco!!

que no caso era so colocar o get dentro de uma consulta... mais e akilo depende pro que cada um vai usar!!

#9 dddidan

dddidan

    Ativo

  • Usuários
  • 381 posts
  • Sexo:Masculino
  • Localidade:Taboão da Serra - SP

Posted 25/10/2010, 16:43

Tranquilo, Fabio haha
só coloquei como curiosidade mesmo... é como dizem "existem varios meios de se chegar à mesma solução" =D
Mais vale um Dev C++ na mão do que dois codeblocks voando

PHP - ||||||||||||||| MySql - |||||||||||||||
C/C++ - ||||||||||||||| Oracle - |||||||||||||||
PERL - |||||||||||||||




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq