Foros del Web » Programando para Internet » PHP »

Como filtrar datos de una tla con un combox

Estas en el tema de Como filtrar datos de una tla con un combox en el foro de PHP en Foros del Web. Hola espero me puedan ayudar neceisto saber como puedo ya despues de que me arrojo la consulta con todos los datos poder filtrar con un ...
  #1 (permalink)  
Antiguo 31/03/2011, 01:14
 
Fecha de Ingreso: marzo-2011
Ubicación: Victoria,Mexico
Mensajes: 45
Antigüedad: 11 años, 4 meses
Puntos: 0
Como filtrar datos de una tla con un combox

Hola espero me puedan ayudar neceisto saber como puedo ya despues de que me arrojo la consulta con todos los datos poder filtrar con un select option la infromacion ya mostrada en php ahi saludos y gracias
  #2 (permalink)  
Antiguo 31/03/2011, 04:01
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 17 años, 6 meses
Puntos: 81
Respuesta: Como filtrar datos de una tla con un combox

Mmm... supongo que estamos hablando de un <select><option> y de un formulario que traes en una consulta.

Si es asi y quieres marcar la opcion seleccionada, puedes poner un if, para saber si el select que se esta llenando va en el valor que traes en tu base de datos... o sea...
Código PHP:
Ver original
  1. //Asumire que estas son las opciones
  2. $arrOpciones = array(1,2,3,4,5);
  3. $nO = count($arrOpciones);
  4. //Asumire que $data viene con los datos del formulario guardado
  5. echo '<select name="loquesea">';
  6. for($i=0;$i<$nO;$i++){
  7.     if($data['opcionSeleccionada'] == $arrOpciones[$i]){
  8.         $selected = 'selected';
  9.     }else{
  10.         $selected = '';
  11.     }
  12.     echo '<option '.$selected.'>'.$arrOpciones[$i].'</option>';
  13. }
  14. echo '</select>';
Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 31/03/2011, 15:58
 
Fecha de Ingreso: marzo-2011
Ubicación: Victoria,Mexico
Mensajes: 45
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Como filtrar datos de una tla con un combox

Mira yo antes usaba un SCRIPT que es el siguiente

Código Javascript:
Ver original
  1. function actualizaPagina ()
  2.    {
  3.       i = document.forms.selecciona.certi.selectedIndex;
  4.       certi = document.forms.selecciona.certi.options[i].value;
  5.       window.location = 'consulta_noticias4.php?certi=' + certi;
  6.    }

y este codigo php:
Código PHP:
Ver original
  1. <?PHP
  2. // Incluir bibliotecas de funciones
  3.    include ("lib/fecha.php");
  4. ?>
  5.  
  6. </HEAD>
  7.  
  8. <BODY>
  9.  
  10. <H1>Consulta de noticias</H1>
  11.  
  12. <?PHP
  13.  
  14.    // Conectar con el servidor de base de datos
  15.       $conexion = mysql_connect ("localhost", "root", "root")
  16.          or die ("No se puede conectar con el servidor");
  17.  
  18.    // Seleccionar base de datos
  19.       mysql_select_db ("prueba")
  20.          or die ("No se puede seleccionar la base de datos");
  21.  
  22.    // Mostrar formulario con elemento SELECT para seleccionar categoría de noticia
  23.       print ("<FORM NAME='selecciona' ACTION='consulta_noticias4.php' METHOD='POST'>\n");
  24.       print ("<P>Mostrar noticias de la categoría:\n");
  25.       print ("<SELECT NAME='certi' ONCHANGE='actualizaPagina()'>\n");
  26.      
  27.        
  28.      
  29.    // Obtener los valores del tipo enumerado
  30.       $instruccion = "SHOW columns FROM alumno LIKE 'certi'";
  31.    
  32.       $consulta = mysql_query ($instruccion, $conexion);
  33.    
  34.      
  35.       $row = mysql_fetch_array ($consulta);
  36.  
  37.    // Pasar los valores a una tabla y añadir el valor "Todas" al principio
  38.       $lis = strstr ($row[1], "(");
  39.       $lis = ltrim ($lis, "(");
  40.       $lis = rtrim ($lis, ")");
  41.       $lis = "'Mostrar los Certificados'," . $lis;
  42.       $lista = explode (",", $lis);
  43.      
  44.      
  45.      
  46.      
  47.  
  48.    // Mostrar cada valor en un elemento OPTION
  49.       $categoria = $_REQUEST['certi'];
  50.       if (isset($categoria))
  51.          $selected = $categoria;
  52.       else
  53.          $selected = "Mostrar los Certificados";
  54.       for ($i=0; $i<count($lista); $i++)
  55.       {
  56.          $cad = trim ($lista[$i], "'");
  57.          if ($cad == $selected)
  58.             print ("   <OPTION VALUE='$cad' SELECTED>$cad\n");
  59.          else
  60.             print ("   <OPTION VALUE='$cad'>$cad\n");
  61.       }
  62.  
  63.       print ("</SELECT></P>\n");
  64.       print ("</FORM>\n");
  65.  
  66.    // Enviar consulta
  67.       $instruccion = "select * from alumno";
  68.  
  69.       if (isset($categoria) && $categoria != "Mostrar los Certificados")
  70.          $instruccion = $instruccion . " where certi='$certi'";
  71.  
  72.       $instruccion = $instruccion . " order by nomalum asc";
  73.       $consulta = mysql_query ($instruccion, $conexion)
  74.          or die ("Fallo en la consulta");
  75.  
  76.    // Mostrar resultados de la consulta
  77.       $nfilas = mysql_num_rows ($consulta);
  78.       if ($nfilas > 0)
  79.       {
  80.          print ("<TABLE>\n");
  81.          print ("<TR>\n");
  82.          print ("<TH>ID</TH>\n");
  83.          print ("<TH>Nombre</TH>\n");
  84.          print ("<TH>Paterno</TH>\n");
  85.          print ("<TH>Materno</TH>\n");
  86.          print ("<TH>Correo</TH>\n");
  87.          print ("<TH>Telefoono</TH>\n");
  88.          print ("<TH>Certificado</TH>\n");
  89.          
  90.          print ("</TR>\n");
  91.  
  92.          for ($i=0; $i<$nfilas; $i++)
  93.          {
  94.             $resultado = mysql_fetch_array ($consulta);
  95.             print ("<TR>\n");
  96.             print ("<TD>" . $resultado['nomalum'] . "</TD>\n");
  97.             print ("<TD>" . $resultado['apePalu'] . "</TD>\n");
  98.             print ("<TD>" . $resultado['apeMalu'] . "</TD>\n");
  99.             print ("<TD>" . $resultado['correo'] . "</TD>\n");
  100.             print ("<TD>" . $resultado['tel'] . "</TD>\n");
  101.             print ("<TD>" . $resultado['curso'] . "</TD>\n");
  102.             print ("<TD>" . $resultado['instructor'] . "</TD>\n");
  103.            
  104.             print ("<TD>" . $resultado['certi'] . "</TD>\n");
  105.             print ("<TD>" . date2string($resultado['fecha']) . "</TD>\n");
  106.  
  107.             if ($resultado['imagen'] != "")
  108.                print ("<TD><A TARGET='_blank' HREF='img/" . $resultado['imagen'] .
  109.                       "'><IMG BORDER='0' SRC='img/ico-fichero.gif' ALT='Imagen asociada'></A></TD>\n");
  110.             else
  111.                print ("<TD>&nbsp;</TD>\n");
  112.  
  113.             print ("</TR>\n");
  114.          }
  115.  
  116.          print ("</TABLE>\n");
  117.       }
  118.       else
  119.          print ("No hay noticias disponibles");
  120.  
  121.  
  122. // Cerrar conexión
  123.    mysql_close ($conexion);
  124.  
  125. ?>

pero asi nomas puedo poner un filtro y yo lo que quiero es tner uno para si esta certificado y otro para saber que curso gracias...

Etiquetas: filtrar, option, select
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 16:10.