Foros del Web » Programando para Internet » PHP »

Actualizar Informe al cambiar ListBox

Estas en el tema de Actualizar Informe al cambiar ListBox en el foro de PHP en Foros del Web. Hola, tengo una página php que contiene una listbox: Código HTML: <select name= "seccion" > <option value= "pracvisualbasic" > Pr &aacute; cticas Visual Basic </option> ...
  #1 (permalink)  
Antiguo 22/04/2008, 10:47
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 19 años
Puntos: 1
Actualizar Informe al cambiar ListBox

Hola, tengo una página php que contiene una listbox:
Código HTML:
<select name="seccion">
    <option value="pracvisualbasic">Pr&aacute;cticas Visual Basic</option>
    <option value="pracsql">Pr&aacute;cticas SQL</option>
    <option value="pracc">Pr&aacute;cticas C</option>
    <option value="pracsistemas">Pr&aacute;cticas Sistemas</option>
    <option value="pracanalisis">Pr&aacute;cticas An&aacute;lisis</option>
    <option value="otros">Otros</option>
  </select> 
y un código en php que crea una tabla con los registros de otra tabla de bd.
Por ahora funciona porque sólo muestra los de la tabla pracvisualbasic, pero me gustaría que al elegir un elemento de la listbox, se actualizara la la página con los registros de la opción seleccionada. Las tablas de la BD se corresponden con el value de cada opción.

El infome se genera de la siguiente forma:
Código PHP:
$conexion=mysql_connect("localhost","root","******") or die("Problemas en la conexion");
        
mysql_select_db("pruebas",$conexion) or die("Problemas en la seleccion de la base de datos");
        
$registros=mysql_query("select * from pracvisualbasic",$conexion) or die("Problemas en el select:".mysql_error());
        
printf"<table border='1'>");
        
printf"<tr>");
          
printf"    <td align='center'><b><i>C&oacute;digo</i></b></td>");
          
printf"    <td align='center'><b><i>Nombre</i></b></td>");
          
printf ("    <td align='center'><b><i>Descripci&oacute;n</i></b></td>");
          
printf ("    <td align='center'><b><i>Tipo</i></b></td>");
          
printf ("    <td align='center'><b><i>Tama&ntilde;o</i></b></td>");
          
printf ("    <td align='center'><b><i>Fecha</i></b></td>");
          
printf ("    <td align='center'><b><i>Descargar</i></b></td>");
        
printf"</tr>");
        while (
$reg=mysql_fetch_array($registros))
        {
            
$ruta="./".$reg['ruta'];
            
$url="<a href='$ruta'>Descargar</a>";
            
$dia=date("d",$reg['fecha']);
            
$mes=date("m",$reg['fecha']);
            
$ano=date("Y",$reg['fecha']);
            
$fecha=$dia."/".$mes."/".$ano;
            
            If ((
$reg['codigo']%2)==0)
            {
                
printf"<tr  bgcolor='#FFFFFF'>");    
            }
            Else
            {
                
printf"<tr bgcolor='#CCCCCC'>");
            }
              
printf ("    <td  align='center'>%d</td>",$reg['codigo']);
              
printf ("    <td  align='center'>%s</td>",$reg['nombre']);
              
printf ("    <td>%s</td>",$reg['descripcion']);
              
printf ("    <td  align='center'>%s</td>",$reg['tipo']);
              
printf("<td>%s</td>",$reg['tamaño']);
              
printf ("    <td align='center'>%s</td>",$reg['fecha']);
              
printf ("    <td align='center'>%s</td>",$url);
            
printf"</tr>");      
        }
        
printf("</table>");
        
mysql_close($conexion); 
Si alguien sabe hacer el informe de otra forma más eficiente, se agradecen comentarios y ayudas, que estoy empezando(hace 1semana) y esa fue la primera forma que se me vino a la cabeza.

Yo esto lo sé hacer en Visual Basic con el evento Lista_Click(), pero ni en PHP ni en HTML, no tengo ni pajolera idea

Pero bueno, lo que más me urge es que al seleccionar un elemento de la listbox se actualice la página con los registros de la tabla seleccionada.

Saludos y Gracias!
__________________
Técnico Superior en Desarrollo de Apliciones Informáticas
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 13:11.