Foros del Web » Programando para Internet » PHP »

Duda de if then...

Estas en el tema de Duda de if then... en el foro de PHP en Foros del Web. Hola gente, estoy iniciando con el PHP por eso quiza mis preguntas parezcan tontas, pero es que no soy versado en programación. En php doy ...
  #1 (permalink)  
Antiguo 29/01/2003, 15:34
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 3 meses
Puntos: 11
Duda de if then...

Hola gente, estoy iniciando con el PHP por eso quiza mis preguntas parezcan tontas, pero es que no soy versado en programación.

En php doy un link a una pag, que hala info de una BD de la siguiente forma:
<a href="/php/sr2.php?c=s">

y cuando la recibo quiero que la pag que recibe identifique la variable y responda de acuerdo a lo que se le pide, por eso lo armé así:
<?
if ($c='s'){
echo "Surfing page";
}

if ($c='l'){
echo "Life Estile";
}

if ($c='r'){
echo "Real Estate";
}


?>

pero en la pagina que recibe me escribe el nombre de todas la variables o sea me escribe:
Surfing page Life Estile Real Estate

Cuando la única variable que pasaba era s, de modo que lo único que me tenía que responder era Surfing.

Cómo hago eso? Donde está el error?

Gracias amigos.
  #2 (permalink)  
Antiguo 29/01/2003, 15:43
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Conceptos basicos:

== para comparar
= para asignar

Como estas usando = estas asignando a $c el valor, cuando en realidad quieres comparar.

Y antes de que empieces a quejarte de por que PHP lo hace asi, de que estupido es por no darse cuenta que dentro de if lo que quieres es una comparacion, simplemente decirte que los de PHP decidieron hacerlo asi, igual que en C y C++.

Y como en todos los lenguajes de programacion debes aprenderte sus operadores y su sintaxis.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 29/01/2003, 15:46
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
$c=1 hace que $c valga 1, aunque esté en un if

if ($c==1) {accion} hace que accion tenga lugar si $c vale 1.
__________________
M a l d i t o F r i k i
  #4 (permalink)  
Antiguo 29/01/2003, 15:46
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Hola,

Mira, tienes error en el operador de comparación, debería ser:

$c=="s"

Con $c="s" le estas asignando el valor nuevo a $c, y esa operación siempre te va a dar "true"

Por otro lado, te recomiendo para esa aplicacion que haces mejor usar el switch:

switch ($c){

case "s":
--Aqui pones tu contenido "S"
break;

case "l":
--Aqui pones tu contenido "L"
break;
}

Saludos!
__________________
Manoloweb
  #5 (permalink)  
Antiguo 29/01/2003, 15:47
Avatar de josgat  
Fecha de Ingreso: noviembre-2002
Mensajes: 137
Antigüedad: 21 años, 4 meses
Puntos: 0
La solución es sencilla!!

con el = se asigna valores a variables, para hacer comparaciones se utiliza el ==.
Así que un if sería:
if ($var == "lo_que_sea")

enga, en www.php.net/manual/es encontraras todo lo necesario para empezar en esto del php

adeu
  #6 (permalink)  
Antiguo 29/01/2003, 16:03
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 3 meses
Puntos: 11
Gracias amigos.
Funciona con el If ya lo hice, pero...
pero Manolo me sugiere usar un select (asi se llama en asp, aki sería un case?)y me parece mejor por ke este if es largo, de modo que intento:
switch ($c){

case "s":
echo "Surfing"
break;

case "l":
--"Lodging"
break;
}


pero me da error en el
break;
Parse error: parse error, expecting `','' or `';'' in /php/sr2.php on line 49

por ke?

Última edición por rashid; 29/01/2003 a las 16:06
  #7 (permalink)  
Antiguo 29/01/2003, 16:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. despues de aclarar las dudas q tengas con respecto a los operadores de comparación/asignación .. etc ...

Voto por usar :

switch ($c){ ...

Por lo menos para este caso .. es lo mas claro y efectivo.

Un saludo,
  #8 (permalink)  
Antiguo 29/01/2003, 16:12
 
Fecha de Ingreso: enero-2002
Ubicación: Perez Zeledon Costa Rica
Mensajes: 1.009
Antigüedad: 22 años, 3 meses
Puntos: 11
Gracias amigos, fui a:
http://www.php.net/manual/en/control...res.switch.php

encontré la respuesta ahi.

Pero tanates de gracias a UDS.

UIn tonto menos...!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:11.