Comunidad de diseño web y desarrollo en internet online

como recargar pagina con datos de una consulta

Citar            
MensajeEscrito el 24 Jul 2016 01:53 pm
hola amigos..tengo una pagina con dos combos curso y division..al seleccionar un curso y una division y apretar un boton listar quiero cargar alumnos de ese curso y division.

Para lo mismo embebi un codigo php en el documento html que dice que "si" hay alumnos carga la tabla..osea despues de hacer click pero no funciona..

aqui el html:

Código HTML :

<!DOCTYPE HTML>
<html>
<head>
   <meta http-equiv="content-type" content="text/html" />
   <meta name="author" content="gencyolcu" />
<?php include 'consultaInasistencias.php';?>
   <title>Sistema de Gestion de Alumnos</title>
    <link rel="stylesheet" href="../../Css/Formularios.css"/>
 
</head>
<body>
    <div id="contenedor">
 
        <header id="cabecera">
            <div id="C1">
                <div class="imagen1"><div class="imagen2"></div></div>
                <p class="icono">GESTION.AR</p>
            </div>
 
            <div id="box">
               <p id="titulo">Sistema de Gestión Escolar</p>
            </div>
        </header>
        <form action="consultaInasistencias.php" method="post">
         <section id="seccion">
            <p>Seleccione el curso y la division a listar </p>
            <p>Curso:<select name="cursos">
             <?php foreach ( $rscursos as $curso){?>
                         <option value="<?php echo $curso["idcurso"];?>"><?php echo $curso["curso"];?></option>
 
                <?php }?>
          </select> Division:
           <select name="divisiones">
             <?php foreach ( $rsdivisiones as $division){?>
                         <option value="<?php echo $division["iddivision"];?>"><?php echo $division["division"];?></option>
 
                <?php }?>
           </select>
           <input type="submit" name="listar" value="Obtener listado"/></p>
       </section>
 
       <?php if (isset($rsalumnos)){
        foreach ($rsalumnos as $alumno){?>
       <section id="seccion">
 
            <table width="100%">
 
                <td width="25%" id="titulocolumna" >Nombre</td>
 
                <td width="25%" id="titulocolumna">Apellido</td>
                <td width="10%"id="titulocolumna">LT 1/4</td>
                <td width="10%"id="titulocolumna">LT 1/2</td>
                <td width="10%"id="titulocolumna">RA 1/4</td>
                <td width="10%"id="titulocolumna">RA 1/2</td>
 
            </table>
 
       </section>
       <?php } }
 
       ?>
        </form>
        <footer id="pie"></footer>
 
    </div>
 
</body>
</html>


el archivo consultainasistencias funciona bien..de hecho hice un echo de un alumno..

Código PHP :

<?php
 
include ("../../PHP/Conexion.php");
$conectar = conexionBD();
$resultado = array();
 
$sqlcursos = "SELECT * FROM tesis.curso;";
$rscursos = select($conectar,$sqlcursos);
$sqldivisiones="Select * from tesis.division;";
$rsdivisiones= select($conectar,$sqldivisiones);
 
if (isset($_POST['listar'])){
if (isset($_POST['cursos']) && isset($_POST['divisiones'])){
    $idcurso = $_POST['cursos'];
    $iddivision = $_POST['divisiones'];
$sqlalumnos="SELECT alumno.idpersona,persona.nombre,persona.apellido from alumno
 left join persona on alumno.idpersona=persona.idpersona where idcurso=".$idcurso.
  " and iddivision=".$iddivision.";";
$rsalumnos= select($conectar,$sqlalumnos);
 
    $msj="listando ". count($rsalumnos). "alumnos en total";
        header('location: Forminasistencias.php');
                    }else{
                            $msj="no se encontraron alumnos";
 
                         }
 
}
 
 
?>

Por giulichajari

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 25 Jul 2016 07:31 pm
Saludos
Según pude ver tu código tu formulario HTML envia las variables a tu archivo PHP ("consultainasistencias ") y realiza la consulta, pero después te envia al HTML, en ese momento no le estas enviado ninguna información al HTML, te aconsejo que utilizar Ajax, si necesitas te puedo enviar un ejemplo, cualquier duda o comentario comentado

Atte.: Mario

Por mario22121985

88 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2016 10:22 am

mario22121985 escribió:

Saludos
Según pude ver tu código tu formulario HTML envia las variables a tu archivo PHP ("consultainasistencias ") y realiza la consulta, pero después te envia al HTML, en ese momento no le estas enviado ninguna información al HTML, te aconsejo que utilizar Ajax, si necesitas te puedo enviar un ejemplo, cualquier duda o comentario comentado

Atte.: Mario


Usted dice que me conviene pasar una variable al redirigir la pagina? bueno si usted quiere darme un ejemplo no hay dram..no quiero usar ajax porque es para un trabajo de la universidad y ajax no lo vimos..

Por giulichajari

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2016 05:01 pm
bueno,lo logre usando ajax..

Código Javascript :

function nuevoAjax(){
   var xmlhttp=false;
    try {
       xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
       try {
          xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (E) {
          xmlhttp = false;
       }
     }

   if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
       xmlhttp = new XMLHttpRequest();
   }
   return xmlhttp;
}
function cargarContenido(){
   var curso,division, contenedor;

   curso = document.getElementById('cursos').value;
   division = document.getElementById('divisiones').value;
   ajax=nuevoAjax();
   ajax.open("POST", "consultaInasistencias.php",true);
   ajax.onreadystatechange=function() {
      if (ajax.readyState==4) {
         contenedor.innerHTML = ajax.responseText
       }
   }
   ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   ajax.send(null)
}


Código HTML :

          <tr>
            <?php 
            if (isset($rsalumnos) && $rsalumnos!=null){
                        
                            $total=count($rsalumnos);
                                foreach($rsalumnos as $alumno){?>
               <td> <?php echo $alumno['nombre'];?></td> 
               <td> <?php echo $alumno['apellido']; ?></td> 
               <td> <input type="radio" value="1" name="llegadatarde" id="i1" /></td> 
               <td> <input type="radio" value="2" name="llegadatarde" id="i2"/></td>
               <td> <input type="radio" value="3" name="retiroanticipado" id="i3"/></td> 
               <td> <input type="radio" value="4" name="retiroanticipado" id="i4"/></td>
               <?php }}?>
            </tr>
            </table>


pero ahora necesito actualizar, para cada alumno el valor de la fata correspondiente.. de que manera puedo recorrer la tabla html e ir iterando?

Por giulichajari

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 26 Jul 2016 05:38 pm
Saludos
Primero necesitaras un botón para grabar la información, segundo el código del alumno al cual le agregaras la llegada tarde y recuperar la opción seleccionada del radio.

para poder recuperar el código del usuario pudieras agregarlo cuando muestras la información del alumno, agrégalo en un input y le colocas la opción de hidden, para recuperar la opción de los radio puedes utilizar

Código Javascript :

document.getElementById('i1').checked


para tu botón grabar utiliza nuevamente Ajax, recuperas la opción del radio y en valor del input el cual contiene el código del alumno, cualquier duda o comentario por favor de comentarlo

Atte.: Mario

Por mario22121985

88 de clabLevel



 

chrome
Citar            
MensajeEscrito el 27 Jul 2016 03:00 pm
para obtener el valor de la falta hice el siguiente codigo: (pero no puedo tener mas de un radiobutton chequeado en toda la pagina, y necesito uno por cada registro, ademas de crearlo dinamicamente)...

Código Javascript :

function obtenerValorFalta(){
    var ltardemedia,valorltarde,ranticip,ranticipmedia,valorFalta;
    ltarde = document.getElementById('i1');
    ltardemedia = document.getElementById('i2');
    if ltarde.checked {
        valorFalta=5;
                        }  else if ltardemedia.checked{
                                                    valorFalta=2;
                                                     }else{
                                                       valorFalta=0;
                                                     }


    ranticip = document.getElementById('i3');
    ranticipmedia = document.getElementById('i4');
    if ranticip.checked {
        valorFalta=3;
                            }else if ranticipmedia.checked{
                                                        valorFalta=4;
                                                    }else{
        
        valorFalta=0;}
        return valorFalta;
}


luego hice:

Código Javascript :

function actualizaralumnos(){      
var idalumno,tipofalta,contenedor;  
tipofalta=obtenerValorFalta();
idalumno=document.getElementById('idalu').value;
    ajax=nuevoAjax();
   ajax.open("POST", "consultaInasistencias.php",true);
   ajax.onreadystatechange=function() {
      if (ajax.readyState==4) {
         contenedor.innerHTML = ajax.responseText
       }
   }
   ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
   ajax.send(null)
}


en html hice otro form para separar del que tiene el boton de listar alumnos..para colocar la funcion de arriba en dicho form:

Código HTML :

<form action="" method="post" onsubmit="actualizarAlumnos('consultaInasistencias.php');>  <section id="seccion">
 
            <table width="100%">
            <tr>
                <td width="25%" id="titulocolumna">Nombre</td>
             
                <td width="25%" id="titulocolumna">Apellido</td>
                <td width="10%"id="titulocolumna">LT 1/4</td>
                <td width="10%"id="titulocolumna">LT 1/2</td>
                <td width="10%"id="titulocolumna">RA 1/4</td>
                <td width="10%"id="titulocolumna">RA 1/2</td>
            </tr>
            
            <?php 
            if (isset($rsalumnos) && $rsalumnos!=null){
                        
                            $total=count($rsalumnos);
                                foreach($rsalumnos as $alumno){?><tr>
                                <td><input type="hidden" name="idalu"value="<?php echo $alumno['idalumno'];?>"/></td> 
               <td> <?php echo $alumno['nombre'];?></td> 
               <td> <?php echo $alumno['apellido']; ?></td> 
               <td> <input type="radio" value="1" name="llegadatarde" id="i1" /></td> 
               <td> <input type="radio" value="2" name="llegadatarde" id="i2"/></td>
               <td> <input type="radio" value="3" name="retiroanticipado" id="i3"/></td> 
               <td> <input type="radio" value="4" name="retiroanticipado" id="i4"/></td>
               </tr>
               <?php }}?>
            
            </table>
 
       </section>
        <input type="submit" name="Actualizar"/>
        
 </form>


ahora..como paso lo que obtuve en ajax a la consulta php?:

Código PHP :

if (isset($_POST['Actualizar'])){
    $fecha=time();
    $tipo=htmlentities ($_POST['tipofalta']);
    $idalumno=htmlentities($_POST['idalumno']);
    $sqlinasistencias="UPDATE inasistencia";
    $sqlinasistencias="SET fecha=".$fecha.",tipo=".$tipo;
    $sqlinasistencias="WHERE idalumno=".$idalumno;
    $query=update($conectar,$sqlinasistencias);
}
?>


muchas gracias por su ayuda!!!!!

Por giulichajari

18 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.