Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2008, 10:47
Baldur
 
Fecha de Ingreso: mayo-2005
Ubicación: Vimianzo. A Coruña
Mensajes: 230
Antigüedad: 19 años, 10 meses
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