Foros del Web » Programando para Internet » PHP »

consulta select con if y else

Estas en el tema de consulta select con if y else en el foro de PHP en Foros del Web. Hola tengo esta consulta pero quiero agregar un combo que me selecione segun 1>estrellas 2>precio esta consulta y me la muestre en pantalla. tendria que ...
  #1 (permalink)  
Antiguo 18/10/2006, 07:57
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
consulta select con if y else

Hola tengo esta consulta pero quiero agregar un combo que me selecione segun 1>estrellas 2>precio esta consulta y me la muestre en pantalla. tendria que hacer un formu con menu de salto con estrellas y precio pero no puedo hacer el if y else para el select.

Código PHP:
<php>$_pagi_sql=("SELECT hotel,estrellas,vigencia,sgl,dbl,tpl,suite,cama,adicional,htm from paquetes WHERE web ='at_cuyo' order by estrellas Desc");
//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 20
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
echo 
'<table width="580" border="0" bgcolor="#993366" cellpadding="0" cellspacing="0" >';
echo
'
  <tr height="25"> 
    <td width="150" align="left"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Argentina</font></strong></td>
    <td height="20" width="10" align = "left" > 
     <strong> 
     <font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">*</font></strong></td>
    <td width="100"  align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Vigencia</font></strong></td>
    <td width="30"align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">SGL</font></strong></td>
    <td width="30" align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">DBL</font></strong></td>
    <td width="30" align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">TPL</font></strong></td>
    <td width="30" align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">SUITE</font></strong></td>
    <td width="30" align="center"><img src="iconocama.gif" width="19" height="20"></td>
    <td width="80" align="lcenter"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">ADICIONAL</font></strong></td>
    <td width="30" align="center"><strong><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif">Fotos</font></strong></td>
  </tr>'
// Así escribimos la cabecera de la tabla

while ($row mysql_fetch_array($_pagi_result)) { 

if (
$colorfila==0){
       
$color"#F4EACA";
       
$colorfila=1;
    }else{
       
$color="#FFFFE6";
       
$colorfila=0;
    }


 echo 
'<tr bgcolor='.$color.'>''<td  height="20" width="150" height="4" >'.'<strong>'.$row['hotel'].'</td>'.'</strong>'.'<td height="20" width="10" align = "left" >'.'<strong>'.$row['estrellas'].'</td>'.'</strong>'.'<td width="100"  align = "center" >'.'<strong>'.$row['vigencia'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['sgl'].'</td>'.'</strong>'.'<td height="20" width="30"  align = "center" >'.'<strong>'.$row['dbl'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['tpl'].'</td>'.'</strong>'.'<td width="30"  align = "center" >'.'<strong>'.$row['suite'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['cama'].'</td>'.'</strong>'.'<td height="20" width="80" align="center">'.'<strong>'.$row['adicional'].'</td>'.'</strong>'.'<td height="20"width="30" align ="center">'.$row['htm'].'</td>'.'</tr>';

}

echo 
'</table>'// Fin de la tabla.
echo"<p>".$_pagi_navegacion."</p>";
?> 
  #2 (permalink)  
Antiguo 23/10/2006, 08:13
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Hola de nuevo, me stoy volviendo loco con esto y es urgente. no puedo hacer que el script me muestre desde el desplegable una u otra consulta con select.


html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
</head>

<body>
<form name="form1" method="get" action="">
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<option value="else2.php">Estrellas</option>
<option value="else2.php" selected>Hotel</option>
</select>
</form>
</body>
</html>


Código PHP:
<?php include("cone.php"); ?>
<?php 
//include("vero.php");
$precio=$_POST["precio"]; 
$estrellas=$_POST["estrellas"]; 
if (
$_POST == $estrellas){
  
//process form
   
 
$_pagi_sql =("SELECT * FROM paquetes WHERE web='at_bsas'order by estrellas Desc"); 

}  
elseif(
$_POST == $precio) {
 
$_pagi_sql =("SELECT * FROM paquetes WHERE web='at_noa' order by hotel Desc");
}
else
{
print (
"hola");
}
$_pagi_cuantos 20
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
echo 
'<table width="580" border="0" bgcolor="#993366" cellpadding="0" cellspacing="0" >';
echo
'
  <tr height="25"> 
    <td width="150" align="left"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Argentina</font></strong></td>
    <td height="20" width="10" align = "left" > 
     <font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>*</font></strong></td>
    <td width="100"  align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Vigencia</font></strong></td>
    <td width="30"align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>SGL</font></strong></td>
    <td width="30" align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DBL</font></strong></td>
    <td width="30" align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>TPL</font></strong></td>
    <td width="30" align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>SUITE</font></strong></td>
    <td width="30" align="center"><img src="iconocama.gif" width="19" height="20"></td>
    <td width="80" align="lcenter"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>ADICIONAL</font></strong></td>
    <td width="30" align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Fotos</font></strong></td>
  </tr>'
// Así escribimos la cabecera de la tabla
echo '<table width="580" border="0" cellpadding="0" cellspacing="0" >';
while (
$row mysql_fetch_array($_pagi_result)) { 

if (
$colorfila==0){
       
$color"#DEDEBE";
       
$colorfila=1;
    }else{
       
$color="#F0F0F0";
       
$colorfila=0;
    }


 echo 
'<tr bgcolor='.$color.'>''<td  height="20" width="150" height="4" >'.'<strong>'.$row['hotel'].'</td>'.'</strong>'.'<td height="20" width="10" align = "left" >'.'<strong>'.$row['estrellas'].'</td>'.'</strong>'.'<td width="100"  align = "center" >'.'<strong>'.$row['vigencia'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['sgl'].'</td>'.'</strong>'.'<td height="20" width="30"  align = "center" >'.'<strong>'.$row['dbl'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['tpl'].'</td>'.'</strong>'.'<td width="30"  align = "center" >'.'<strong>'.$row['suite'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['cama'].'</td>'.'</strong>'.'<td height="20" width="80" align="center">'.'<strong>'.$row['adicional'].'</td>'.'</strong>'.'<td height="20"width="30" align ="center">'.$row['htm'].'</td>'.'</tr>';

}

echo 
'</table>'// Fin de la tabla.
//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
  
//} 
?>

el while lo uso para generar la vista de registros en la web,

Si esto no sirve les agradecería una sugerencia para lograrlo.
  #3 (permalink)  
Antiguo 01/11/2006, 18:02
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Hola necesito al menos que me digan si se puede con php poner un select desplegablñe en el mismo script para que lo ordene por precio o por estrellas. es urgente para mi.
  #4 (permalink)  
Antiguo 02/11/2006, 02:58
 
Fecha de Ingreso: octubre-2006
Mensajes: 34
Antigüedad: 17 años, 6 meses
Puntos: 0
Bueno tienes un lio bastante majo:

Si lo que quieres es que te vaya a la pagina else2.php o la que sea la tienes que poner en el action del formulario, tambien poner method='post' si lo quieres leer por post. Luego en el evento OnChange del select hacer un submit del formulario:

<form name="form1" method="post" action="else2.php">
<select name="menu1" onChange="document.form1.submit();">
<option value="estrellas" <?=$_POST[menu1]=="estrellas"?"selected":"";?>>Estrellas</option>
<option value="hotel" <?=$_POST[menu1]=="hotel"?"selected":"";?>>Hotel</option>
</select>
</form>

Luego en la pagina else2.php:

En la variable $_POST no existira $_POST[estrellas] ni $_POST[precio] si no que tendras el nombre del select con el valor seleccionado:
$_POST["menu1"]="estrellas" o
$_POST["menu1"]="precio"

En el if simplemente tienes que comprar el valor $_POST["menu1"]

if ($_POST["menu1"]=="estrellas")
else
.
.
.
  #5 (permalink)  
Antiguo 08/11/2006, 08:34
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Gracias ante todo por responder, veo que ademas me expresé pésimo jaja.
Yo lo que necesito es en la misma página que hago la consulta y muestro con el script los registros es poner el select y que segun estrellas o precios me los ordene.
Ejemplo:

en banco.php por defecto me muestra los registros ordenados por estrellas asc o desc. si? pues bien mediante el select quiero recargar banco.php pero ordenado por precio asc o desc. sin llamar a una nueva pagina, sino en la misma ordenado por precio la misma consulta.

se puede?

la web no está realizada en forma modular sino que le cambiamos la extension de htm a php simplemente, pero el cliente la tiene asi y ahi es donde debo brindarle la solucion.


Gracias sinceramente por tu respuesta porque estoy perdido y urgido por el tiempo.
  #6 (permalink)  
Antiguo 04/12/2006, 07:53
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 19 años, 11 meses
Puntos: 4
Hola Radamantis, un millón de gracias por tu respuesta gracias a ella pude solucionarlo asi:
Código PHP:
<form name="form1" method="post" action="at_web.php">
 <select name="menu1" onChange="document.form1.submit();">
          <option value="estrellas" <?=$_POST[menu1]=="estrellas"?"selected":"";?>>Estrellas</option>
          <option value="precio" <?=$_POST[menu1]=="precio"?"selected":"";?>>Precio</option>
        </select>
      </form></td>
  </tr>
  <tr> 
    <td width="100%" align="left" valign="top">&nbsp;</td>
  </tr>
  <tr> 
    <td width="100%" align="center" valign="top"> 
      <?php include("cone.php"); ?>
      <?php 
//$estrellas=$_POST["estrellas"];
//$precio=$_POST["precio"]; 

if ($_POST["menu1"]=="estrellas"){
  
//process form   
$_pagi_sql =("SELECT * FROM paquetes WHERE web='at_web'order by estrellas Desc"); 
}  
else{ 
//($_POST["menu1"]=="precio") 
$_pagi_sql =("SELECT * FROM paquetes WHERE web='at_web' order by sgl Desc");
}

$_pagi_cuantos 20
//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");
echo 
'<table width="580" border="0" bgcolor="#993366" cellpadding="0" cellspacing="0" >';
echo
'
  <tr height="25"> 
    <td width="150" align="left"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Argentina</font></strong></td>
    <td height="20" width="10" align = "left" > 
     <font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>*</font></strong></td>
    <td width="100"  align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>Vigencia</font></strong></td>
    <td width="30"align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>SGL</font></strong></td>
    <td width="30" align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>DBL</font></strong></td>
    <td width="30" align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>TPL</font></strong></td>
    <td width="30" align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>SUITE</font></strong></td>
    <td width="30" align="center"><img src="iconocama.gif" width="19" height="20"></td>
    <td width="80" align="lcenter"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans-serif"><strong>ADICIONAL</font></strong></td>
    <td width="30" align="center"><font color="#FFFFFF" size="1" face="Verdana, Arial, Helvetica, sans??1A?Ò?e???????????Ï???-serif"><strong>Fotos</font></strong></td>
  </tr>'
// Así escribimos la cabecera de la tabla
echo '<table width="580" border="0" cellpadding="0" cellspacing="0" >';
while (
$row mysql_fetch_array($_pagi_result)) { 

if (
$colorfila==0){
       
$color"#DEDEBE";
       
$colorfila=1;
    }else{
       
$color="#F0F0F0";
       
$colorfila=0;
    }


 echo 
'<tr bgcolor='.$color.'>''<td  height="20" width="150" height="4" >'.'<strong>'.$row['hotel'].'</td>'.'</strong>'.'<td height="20" width="10" align = "left" >'.'<strong>'.$row['estrellas'].'</td>'.'</strong>'.'<td width="100"  align = "center" >'.'<strong>'.$row['vigencia'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['sgl'].'</td>'.'</strong>'.'<td height="20" width="30"  align = "center" >'.'<strong>'.$row['dbl'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['tpl'].'</td>'.'</strong>'.'<td width="30"  align = "center" >'.'<strong>'.$row['suite'].'</td>'.'</strong>'.'<td height="20" width="30" align = "center" >'.'<strong>'.$row['cama'].'</td>'.'</strong>'.'<td height="20" width="80" align="center">'.'<strong>'.$row['adicional'].'</td>'.'</strong>'.'<td height="20"width="30" align ="center">'.$row['htm'].'</td>'.'</tr>';

}

echo 
'</table>'// Fin de la tabla.
//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";
  
//} 
?>

pues bien al llamar a la primera página todo bien pero al seguir los links 1|2|3, etc del paginaitor la consulta no funciona segun el if y else y sino me muestra los registros simplemente. como lo puedo solucionar hace dias que intento y no lo logro. nuevamente gracias.
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 01:59.