Foros del Web » Programando para Internet » PHP »

Duda en mi condicion IF (unexpected T_IF)

Estas en el tema de Duda en mi condicion IF (unexpected T_IF) en el foro de PHP en Foros del Web. Hola a todos tengo un problema con un codigo que me pasaron para realizar bien mi busqueda. este es el mensaje de error : Cita: ...
  #1 (permalink)  
Antiguo 19/02/2006, 12:09
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 12 años, 6 meses
Puntos: 7
Exclamación Duda en mi condicion IF (unexpected T_IF)

Hola a todos tengo un problema con un codigo que me pasaron para realizar bien mi busqueda.

este es el mensaje de error :
Cita:
Parse error: parse error, unexpected T_IF
in busquedaindice.php on line 34
Este es el codigo
Código PHP:
$sql = "SELECT razonsocial, ruc, direccion, distrito, telefono, fax, email, website , giro, imagen FROM empresa WHERE  "; 
$condicion=""
    // Para empresa
    if (isset($_POST['empresa'])) 
    { 
    $empresa=$_POST['empresa']; 
    $condicion=($condicion=="")?" razonsocial LIKE '$empresa%' ": " OR razonsocial LIKE '$empresa%' "; 
    } 
    // Para giro
    if (isset($_POST['giro'])) 
    { 
      $giro = $_POST['giro'] ;
      $condicion=($condicion=="")?" giro LIKE '$giro%' " : " OR giro LIKE '$giro%' "; 
    }
    // Distrito
    if (isset($_POST['distrito'])) 
    { 
      $distrito = $_POST['distrito'] ;
      $condicion=($condicion=="")?" distrito LIKE '$distrito%' ": " OR distrito LIKE '$distrito%' "; 
    }

$sql = $sql.$condicion ;
$result = mysql_query($sql, $dbh) or die (mysql_error()); 
if (mysql_num_rows($result))
{
    echo '<p class="txtcontenido">ud. busco la lista de empresas ccon la palabra o frase : "<? echo $letra ?>"</p>';
    while($row = mysql_fetch_array($result)) 

?>
Para poder entenderlo bien porque ponen el signo de ? :
$condicion=($condicion=="")?" distrito LIKE '$distrito%' ": " OR distrito LIKE '$distrito%' ";
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #2 (permalink)  
Antiguo 19/02/2006, 12:37
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
es la sintaxis corta de IF.

es así:

condición ? si_la_condición_se_cumple : si_no_se_cumple

es decir, "?" sería algo así como "entonces", y ":" es el "else"

de forma "normal", sería:

if ($condicion=="") {
$condicion = " distrito LIKE '$distrito%' ";
}
else {
$condicion = " OR distrito LIKE '$distrito%' ";
}


Saludos, y no olvides mirar el manual de php:
http://www.php.net/manual/es/control-structures.php
  #3 (permalink)  
Antiguo 19/02/2006, 16:21
 
Fecha de Ingreso: abril-2005
Mensajes: 139
Antigüedad: 12 años, 7 meses
Puntos: 1
Parece un error de sintaxis comprueba bien que cierras todas las comillas y que pones todos los ";" al final de cada instruccion.

Aqui deberias de cerrar con ; $condicion="";
__________________
Ciao y suerte.
  #4 (permalink)  
Antiguo 19/02/2006, 16:34
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Exacto, te falta el ";" en la segunda línea, tal como apunta Pleniluni0.

Saludos
  #5 (permalink)  
Antiguo 20/02/2006, 10:17
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 12 años, 6 meses
Puntos: 7
saludos.

Coloque el ";" donde me indicaron pero me sale este mensaje de error :

$condicion="";
Cita:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
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 04:24.