Foros del Web » Programando para Internet » PHP »

problema con condicion if

Estas en el tema de problema con condicion if en el foro de PHP en Foros del Web. Que tal quiero hacer una condicion segun la opcion elegida en un form de un select box de tipos de inmuebles: "departamentos" "terrenos" "casas" "bodegas" ...
  #1 (permalink)  
Antiguo 18/09/2009, 10:49
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta problema con condicion if

Que tal quiero hacer una condicion segun la opcion elegida en un form de un select box de tipos de inmuebles: "departamentos" "terrenos" "casas" "bodegas" esa variables se llama "tipo" entonces al enviarlo manda: la variable $tipo correspondiendole el tipo que hayan elegido. Ahora quiero cambiar el valor de esa variable segun la opcion que hayan enviado de la siguiente forma:

Si $tipo = departamentos ,
$abrevia = dep

Si $tipo = terrenos ,
$abrevia = cas

Lo puse de la siguiente forma:

if ('$tipo' == 'terrenos')
{
$abrevia=='dep';
}
if ($tipo =='casas')
{
$abrevia=='cas';
}

if ($tipo =='locales')
{
$abrevia=='loc';
}

echo $abrevia;

Pero no sale nada esta mal mi sintaxis o las comillas?
  #2 (permalink)  
Antiguo 18/09/2009, 10:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problema con condicion if

Tienes problemas en el primer if, luego para asignar solo se usa 1 signo de =.

Saludos.
  #3 (permalink)  
Antiguo 18/09/2009, 11:00
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problema con condicion if

Muuuuchas gracias!!! ya funciona perfecto
  #4 (permalink)  
Antiguo 21/09/2009, 10:44
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: problema con condicion if

Que tal yo de nuevo, sigo teniendo problemas en mi condicion ya que sea cual sea la variable que le mande me cumple la primer condicion que le pongo, en este caso me pone $inmue siempre como 'dep', es decir no me respeta las demas condiciones:

if ($tipo = 'departamentos')
{
$inmue ='dep';
}
else
if ($tipo = 'casas')
{
$inmue ='cas';
}
else
if ($tipo = 'locales')
{
$inmue ='loc';
}

Intente quitarles el "else" pero contrariamente me pone solo la ultima opcion 'loc`sea cual sea la opcion que le de PORQUE NO ME RESPETA LAS DEMAS CONDICIONES??
  #5 (permalink)  
Antiguo 21/09/2009, 11:11
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Respuesta: problema con condicion if

Muestranos el codigo del formulario y el codigo php que tienes para poder ver el problema en terminos reales.

Usa estos tags para poner tus codigos (todo junto):

[ PHP ]
codigo php
[ /PHP ]

[ HTML ]
codigo HTML
[ /HTML ]

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 21/09/2009, 11:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: problema con condicion if

Para comparar el valor tienes que usar dos signos de igual. Para asignar solo es uno.

Saludos.
  #7 (permalink)  
Antiguo 21/09/2009, 11:23
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
Información

Ok aunque esta algo largo mi codigo y el problema, segun yo,es el que mencione:

codigo HTML

<HTML>
<HEAD>
<TITLE>Datos de Registro</TITLE>

<style type="text/css">
<!--
.style16 {font-family: Arial, Helvetica, sans-serif; font-size: 11px; font-style: normal; font-weight: normal; }
.style19 {font-size: 12px; font-family: Arial, Helvetica, sans-serif; font-weight: bold; color: #000000; }
.style24 {font-family: Arial, Helvetica, sans-serif; font-size: 10px; font-style: normal; font-weight: normal; }
.style25 {font-size: 11px}
.style27 {font-size: 14px; font-family: Arial, Helvetica, sans-serif; font-weight: bold; color: #000000; }
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></HEAD>
<BODY>
<table width="431" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="518"><FORM METHOD="POST" ACTION="form_bienes2.php">
<p><span class="style27">Insertar Inmueble</span></p>
<p><span class="style19">TIPO DE INMUEBLE</span><br />
<label>
<select name="tipo" size="1" id="select">
<option>departamentos</option>
<option>casas</option>
<option>locales</option>
<option>terrenos</option>
<option>bodegas</option>
</select>
</label>
</p>
<table width="431" border="0" cellspacing="1">
<tr>
<td align="left" valign="top" class="style16">CONDICI&Oacute;N</td>
<td colspan="2" align="left" valign="top"><select name="condicion" size="1" id="mes">
<option>venta</option>
<option>renta</option>
</select></td>
<td width="13"align="left" valign="top">&nbsp;</td>
<td width="66" align="left" valign="top" class="style16">REC&Aacute;MARAS</td>
<td align="left" valign="top"><span class="style16">
<input name="recamaras" type="text" value="" size="10" />
</span></td>
</tr>
<tr>

<td width="55" align="left" valign="top" class="style16"><span class="style24 style25">UBICACI&Oacute;N</span></td>
<td colspan="2" align="left" valign="top"><textarea name="ubicacion" cols="20"></textarea></td>
<td width="13" align="left" valign="top">&nbsp;</td>
<td align="left" valign="top" class="style16">BA&Ntilde;OS</td>
<td width="144" align="left" valign="top"><span class="style16">
<input name="banos" type="text" value="" size="10" />
</span></td>
</tr>
<tr>
<td align="left" valign="top" class="style16">PRECIO</td>
<td width="132" align="left" valign="top"><input name="precio" type="text" value="" size="10" />
<span class="style16">$</span></td>
<td width="2" align="left" valign="top">&nbsp;</td>
<td align="left" valign="top">&nbsp;</td>
<td align="left" valign="top" class="style16">M&sup2; CONST.</td>
<td align="left" valign="top"><span class="style16">
<input name="const" type="text" value="" size="10" />
</span></td>
</tr>
<tr>
<td align="left" valign="top" class="style16">PER&Iacute;ODO</td>
<td colspan="2" align="left" valign="top"><select name="periodo" size="1" id="mes2">
<option>total</option>
<option>mensual</option>
</select></td>
<td align="left" valign="top">&nbsp;</td>
<td align="left" valign="top" class="style16">M&sup2; TERRENO</td>
<td align="left" valign="top"><span class="style16">
<input name="terre" type="text" value="" size="10" />
</span></td>
</tr>
<tr>
<td align="left" valign="top" class="style16">EDAD</td>
<td colspan="2" align="left" valign="top"><span class="style16">
<input name="edad" type="text" value="" size="10" />
A&ntilde;os</span></td>
<td align="left" valign="top">&nbsp;</td>
<td align="left" valign="top" class="style16">DESCRIPCI&Oacute;N</td>
<td align="left" valign="top"><textarea name="descri" cols="20"></textarea></td>
</tr>
</table>
<p>
<input type="submit" value="Insertar">
</p>
</form></td>
</tr>
</table>
</BODY>
</HTML>


Hasta aqui todo bien ahora el php:
codigo php

<BODY>
<?
//Conexion con la base
mysql_connect("localhost","xxxxxx","xxxxxx);
//Ejecucion de la sentencia SQL
mysql_db_query("grupobiz_inmuebles","insert into $tipo(condicion,ubicacion,precio,periodo,edad,reca maras,banos,const,terre,descri) values ('$condicion','$ubicacion','$precio','$periodo','$ edad','$recamaras','$banos','$const','$terre','$de scri')");
?>

<?

$result=mysql_db_query("grupobiz_inmuebles","selec t * from $tipo order by id desc limit 1 ");

while ($row=mysql_fetch_array($result))

$ido = $row["id"];
?>
<?
// AQUI ES DONDE TENGO PROBLEMAS, NO ME RESPETA LA CONDICION MAS QUE LA 1ERA
if ($tipo = 'departamentos')
{
$inmue ="dep";
}
else
if ($tipo = 'casas')
{
$inmue ="cas";
}
else
if ($tipo = 'locales')
{
$inmue ="loc";
}
else
if ($tipo = 'terrenos')
{
$inmue ="tero";
}
else
if ($tipo = 'bodegas')
{
$inmue ="bod";
}
?>
<?
//AQUI COMPRUEBO QUE HAY UN ERROR PUES $inmue ME LO PONE SIEMPRE COMO 'dep' SEA CUAL SEA LA OPCION QUE LE HAYA DADO
$carpeta=$inmue.$ido;
echo $carpeta;
?>


Espero puedan ayudarme gracias

Pues en mi condicion estoy asignando a la variable $inmue por la abreviacion del $tipo de inmuebles, por eso solo tiene un signo de =, no se que otra cosa pueda estar mal

Última edición por GatorV; 21/09/2009 a las 11:55
  #8 (permalink)  
Antiguo 21/09/2009, 11:45
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Respuesta: problema con condicion if

Como te dice GatorV estos codigos:
Código PHP:
if ($tipo 'departamentos'
Deben ser asi:
Código PHP:
if ($tipo == 'departamentos'
Recuerda que este es el formato para poner tus codigos:
[ PHP ]
Aca va TU codigo PHP
[ /PHP ]

[ HTML ]
Aca va TU codigo HTML
[ /HTML ]

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #9 (permalink)  
Antiguo 21/09/2009, 11:48
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 11 meses
Puntos: 7
Respuesta: problema con condicion if

por que haces un ciclo de if sin sentido??
no te seria mas facil un case??

te pongo el ejemplo:

Código PHP:
<?
switch($tipo){
    case(
'departamentos'):
        
$inmue ="dep";
    break;
    case (
'casas'):
        
$inmue ="cas";
    break;
    case (
'locales'):
        
$inmue ="loc";
    break;
    case (
'terrenos'):
        
$inmue ="tero";
    break;
    case (
'bodegas'):
        
$inmue ="bod";
    break;
}
?>
en la anterior sintaxis declaramos que la variable a comparar sea $tipo con los distintos casos que tenga tu variable.

Espero haberte ayudado!

cualquier cosa me avisas a ver si te puedo ayudar en algo mas! =D
  #10 (permalink)  
Antiguo 21/09/2009, 13:19
 
Fecha de Ingreso: octubre-2007
Mensajes: 66
Antigüedad: 16 años, 6 meses
Puntos: 0
De acuerdo Respuesta: problema con condicion if

OH! muchas gracias Bacdavi no conocia esa funcion hasta este momento me ha resultado bien los mantendre informados
  #11 (permalink)  
Antiguo 21/09/2009, 15:53
Avatar de bacdavi  
Fecha de Ingreso: junio-2006
Ubicación: http://localhost/
Mensajes: 351
Antigüedad: 17 años, 11 meses
Puntos: 7
Respuesta: problema con condicion if

Cita:
Iniciado por antinio Ver Mensaje
OH! muchas gracias Bacdavi no conocia esa funcion hasta este momento me ha resultado bien los mantendre informados
Con gusto, estamos para ayudarte!!
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 02:02.