Foros del Web » Programando para Internet » PHP »

ayuda con mi script

Estas en el tema de ayuda con mi script en el foro de PHP en Foros del Web. Hola estoy haciendo un script con if y else if, funciona perfectamente pero cuando solo tiene un if y un else if si le pongo ...
  #1 (permalink)  
Antiguo 13/04/2010, 03:09
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
ayuda con mi script

Hola estoy haciendo un script con if y else if, funciona perfectamente pero cuando solo tiene un if y un else if si le pongo otro else if mas ese ya no me funciona, me gustaria que me dijeran como puedo poner varias sentencias y que funcionen todas, mi codigo esta puesto asi:

if ($provincia !="" and $precio !=""){
php
}

else if ($provincia !=""){
php
}
  #2 (permalink)  
Antiguo 13/04/2010, 03:14
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: ayuda con mi script

Código PHP:
if (condicion) {
   echo 
"Dentro del primer if";
}
else if(
condicion2) {
   echo 
"Dentro del segundo if";
}
else if(
condicion3) {
   echo 
"Dentro del tercer if";

Revisa bien las condiciones :P
  #3 (permalink)  
Antiguo 13/04/2010, 03:17
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: ayuda con mi script

Si asi es como lo tengo puesto mira mi codigo pero el tercero no va
Cita:
<?
extract($_POST);
if ($provincia !="" and $precio !=""){
$conexion = mysql_connect ("localhost", "root", "root")
or die ("No se puede conectar con el servidor");

$selec=mysql_select_db ("rural")
or die ("No se puede seleccionar la base de datos");

$sql = "SELECT * FROM casas
WHERE provincia LIKE ('%".$provincia."%') order by precio asc;";


$res=mysql_query ($sql,$conexion) or die ("Fallo en la consultaaa");

$nfilas = mysql_num_rows ($res);
if ($nfilas > 0)
{
echo ("<table border=0>
<tr><th colspan=2><h4>Alojamientos de ".$provincia."</h4>
</th><th><p>Localidad</p></th><th><p>capacidad</th><th><p1>precio</th></tr>\n");


for ($i=0; $i<$nfilas; $i++)
{
$resultado = mysql_fetch_array ($res);


echo ("<tr>
<td width='90'><IMG width='80' height='60' BORDER='0' SRC='imagenescasas/" . $resultado['imagen'] . "' rel='lightbox' ALT='Imagen asociada'></td>
<td width='140' ><a href='?foro=" . $resultado['nombre'] . "'> " . $resultado['nombre'] . "</a> </td>
<td width='100' > " . $resultado['localidad'] . " </td>
<td width='100' > " . $resultado['personas'] . "/personas</td>
<td width='100' > " . $resultado['precio'] . " &euro; </td>\n");
echo ("</tr>\n");
}
echo ("</table>\n");

}
}



else if ($provincia !=""){
$conexion = mysql_connect ("localhost", "root", "root")
or die ("No se puede conectar con el servidor");

$selec=mysql_select_db ("rural")
or die ("No se puede seleccionar la base de datos");

$sql = "SELECT * FROM casas
WHERE provincia LIKE ('%".$provincia."%');";


$res=mysql_query ($sql,$conexion) or die ("Fallo en la consultaaa");

$nfilas = mysql_num_rows ($res);
if ($nfilas > 0)
{
echo ("<table border=0>
<tr><th colspan=2><h4>Alojamientos de ".$provincia."</h4>
</th><th><p>Localidad</p></th><th><p>capacidad</th><th><p1>precio</th></tr>\n");


for ($i=0; $i<$nfilas; $i++)
{
$resultado = mysql_fetch_array ($res);


echo ("<tr>
<td width='90'><IMG width='80' height='60' BORDER='0' SRC='imagenescasas/" . $resultado['imagen'] . "' rel='lightbox' ALT='Imagen asociada'></td>
<td width='140' ><a href='?foro=" . $resultado['nombre'] . "'> " . $resultado['nombre'] . "</a> </td>
<td width='100' > " . $resultado['localidad'] . " </td>
<td width='100' > " . $resultado['personas'] . "/personas</td>
<td width='100' > " . $resultado['precio'] . " &euro; </td>\n");
echo ("</tr>\n");
}
echo ("</table>\n");
}
}

else if ($provincia !="" and $personas !=""){
$conexion = mysql_connect ("localhost", "root", "root")
or die ("No se puede conectar con el servidor");

$selec=mysql_select_db ("rural")
or die ("No se puede seleccionar la base de datos");

$sql = "SELECT * FROM casas
WHERE provincia LIKE ('%".$provincia."%') and personas > '".$personas."' or personas = '".$personas."' ;";


$res=mysql_query ($sql,$conexion) or die ("Fallo en la consultaaa");

$nfilas = mysql_num_rows ($res);
if ($nfilas > 0)
{
echo ("<table border=0>
<tr><th colspan=2><h4>Alojamientos de ".$provincia."</h4>
</th><th><p>Localidad</p></th><th><p>capacidad</th><th><p1>precio</th></tr>\n");


for ($i=0; $i<$nfilas; $i++)
{
$resultado = mysql_fetch_array ($res);


echo ("<tr>
<td width='90'><IMG width='80' height='60' BORDER='0' SRC='imagenescasas/" . $resultado['imagen'] . "' rel='lightbox' ALT='Imagen asociada'></td>
<td width='140' ><a href='?foro=" . $resultado['nombre'] . "'> " . $resultado['nombre'] . "</a> </td>
<td width='100' > " . $resultado['localidad'] . " </td>
<td width='100' > " . $resultado['personas'] . "/personas</td>
<td width='100' > " . $resultado['precio'] . " &euro; </td>\n");
echo ("</tr>\n");
}
echo ("</table>\n");
}


}





?>
  #4 (permalink)  
Antiguo 13/04/2010, 03:18
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: ayuda con mi script

Ejemplo ElseIf:

Código PHP:
($a == $b) {
echo 
"\$a es igual a \$b.\n";
} elseif (
$a != $b) {
echo 
"\$a es distinto de \$b.\n";
} elseif (!
$a) {
echo 
"\$a no existe.\n";
} elseif (!
$b) {
echo 
"\$b no existe.\n";

  #5 (permalink)  
Antiguo 13/04/2010, 03:20
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: ayuda con mi script

Escribe elseif todo junto, a ver si no se queja así.
  #6 (permalink)  
Antiguo 13/04/2010, 03:27
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: ayuda con mi script

Puedes identar tu código? Así será más legible :D

Veamos, si no me equivoco tienes
Código PHP:
if ($provincia !="" and $precio !=""){
 
//Algo
}
else if (
$provincia !=""){
 
//Algo2
}
else if (
$provincia !="" and $personas !=""){
 
//Algo 3

Vamos a ver que pasa para distintas condiciones (y verás pq te dije q las revisaras!)
1er caso: $provincia="algo". $precio="", $personas="":
En este caso la primera condicion devuelve false, y la segunda true. La tercera no entra
2ndo caso: $provincia="", $precio && $personas da igual:
En este caso, todas las condiciones devuelven false.
3er caso: $provincia="algo", $precio=10, $personas da igual el valor:
En este caso, la primera es true, las demas no se ejecutan.
4rto caso: $provincia="algo", $precio="", $personas="algo" (esta es la que dices que falla :D)
En este caso, la primer es false, la segunda true y por tanto la tercera NO se ejecuta.

Si quieres que "funcione", pon la segunda como tercera, y así te funcionará. O bien, haz mejor las condiciones
  #7 (permalink)  
Antiguo 13/04/2010, 03:30
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: ayuda con mi script

que va no funciona sigue sin ir el tercer elseif
  #8 (permalink)  
Antiguo 13/04/2010, 03:37
 
Fecha de Ingreso: enero-2010
Mensajes: 373
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: ayuda con mi script

Es verdad tienes razon Eleazan muchas gracias ahora si me funciona, Vallu gracias tambien por intentar ayudarme
  #9 (permalink)  
Antiguo 13/04/2010, 03:41
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: ayuda con mi script

De nada :D

Etiquetas: Ninguno
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 10:19.