Nueva pregunta

Pregunta:

Fecha: 14-02-2019 08:52:39 (En Español)

porque no se ejecuta el formulario cuando lo llamo desde una funcion[Resuelta]

Buenas tengo el siguiente problema estoy ejecutando un archivo de eliminación de datos de la BD por medio de un formulario y este formulario es llamado mediante una función de java, pasa que desde el archivo directamente ejecuta el proceso y elimina los datos pero si llamo el formulario por una funcion no ejecuta la eliminacion solo recarga la pagina

este es el archivo del formulario

cam1_pl1_p.php

 <form action='test.php' method='POST' ><input type='submit' name='cargar' value='Cargar' style=''><?php 
    include("conexion.php");
    $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 1" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
    $result = mysqli_query($conexion, $sql);
    if (mysqli_num_rows($result) > 0) {
        while($row = mysqli_fetch_assoc($result)) {
            printf("<table><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Cajas: ".$row['totalcaja']."</td><td><input type='checkbox' value='".$row['protocolo']."' name='proto[]'></td></table>");
        	}
        }
        else {
            echo "0 results";
        }
        mysqli_close($conexion);?>
</form>


este formulario me lleva al archivo test.php que es donde se ejecuta el proceso de eliminacion y imprime una variable

test.php

  <?php
	/*------Solo valor*/
if(isset($_POST)){
    foreach ($_POST['proto'] as $proto) {
        echo 'valor: '.$proto.'<br>';
        include("conexion.php");
			$delete = "DELETE FROM cam1 where protocolo='$proto'";
			mysqli_query($conexion,$delete);
    }
}
?>


hasta aqui todo bien todo el formulario y la ejecucion del proceso funciona perfectamente

ahora lo que yo hago es que el archivo cam1_pl1_p.php lo introdusco dentro de una funcion java con un include asi

document.getElementById('palet1').innerHTML="<?php include("cam1_pl1_p.php"); ?>"


al hacer esto el formulario deja de funcionar osea hace la recarga como si fuese a ejecutar el proceso de eliminacion pero no lo hace ahora no se si mi problema es porque estoy llamando el formulario desde la funcion java les dejo el archivo completo

archivo: propuesta.php

<form action="" method="POST">
        <table style="margin: 50px 0px 0px 0px"><td style="padding-top: 10px;"><button id="boton" class="btn btn-danger">Camara 1</button></td><td style="padding: 15px 15px;"><h1 id="palets"></h1></td><td><h1 id="palet1"></h1><h1 id="palet2"><h1 id="palet3"><h1 id="palet4"></h1></h1></h1></td></table>
</form>


<script>
            function palets(){
                document.getElementById('palets').innerHTML="<button id='bp1'>Palet 1</button><button id='bp2'>Palet 2</button><button id='bp3'>Palet 3</button><button id='bp4'>Palet 4</button>"
            }
            /*document.getElementById('boton').onclick = function(){
                palets();
            }*/
            document.getElementById("boton").addEventListener("click", function(event){
                event.preventDefault()
                palets();
            });
                function palet1(){
                document.getElementById('palet1').innerHTML="<?php include("cam1_pl1_p.php"); ?>"
            }
            /*document.getElementById('bp1').onclick = function(){
                palet1();
            }*/
            document.addEventListener('click',function(e){ 
                    if(e.target && e.target.id== 'bp1'){
                        e.preventDefault();
                        palet1();
                }
            });
        </script>


formulo mi pregunto nuevamente porque al llamar el formulario desde la funcion java esta no ejecuta el proceso y si entro directamente al archivo del formulario si realiza el proceso de eliminacion
gracias quedo atentos a sus respuestas
Etiquetas: HTML - Javascript - MySQL - PHP - PHP Avanzado Votos: -1 - Respuestas: 5 - Vistas: 11 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  •  
      1  
     
    Fecha: 14-02-2019 11:38:11 Buenas...

    Prueba de esta forma en el script.

    function palet1(){               
          document.getElementById('palet1').innerHTML=window.location.href = "cam1_pl1_p.php";
     }
    
    
      Votos: 1 - Link respuesta
     
  • Fecha: 15-02-2019 05:11:56 Mira como hacerlo con AJAX, es mas fácil y no suele dar problemas.

    Como intentas hacerlo tu, lo que hace es cargar la pagina propuesta.php, que es donde entiendo que esta el javaScript, carga el php y cuando llega al java intentas incluir la pagina cam1_pl1_p.php. Lo que ocurre es que el java, se ejecuta a nivel de usuario, por eso no puede acceder al formulario.

    Lo que tienes que hacer es una llamada ajax si quieres hacerlo con javascript, y si no, cargar el formulario en php sin hacerlo desde el javascript.

    propuesta.php

    <?php include("cam1_pl1_p.php"); ?>
    


    No se si entiende muy bien lo que quiero decirte.
      Votos: 1 - Link respuesta
     
  • Fecha: 15-02-2019 16:49:07 Por una parte, nunca me gustó incluir PHP dentro de Javascript y generalmente encuentro alternativas para no hacerlo

    Por otra, me parece, en este caso, innecesario

    ¿Por qué no hacer simplemente?:
    <td style="padding: 15px 15px;">
        <h1 id="palets"><?php include("cam1_pl1_p.php"); ?></h1>
    </td>

    Si se quiere ocultar o mostrar código mediante los botones, podría conjugarse en javascript con la opción de mostrar u ocultarlos mediante la acción "onclick".

    P.D.: Observo un <h1> sin cerrar en cam1_pl1_p.php y <h1> anidados dentro de <h1> (¿?)
    <td>
    	<h1 id="palet1"></h1>
    	<h1 id="palet2">
    		<h1 id="palet3">
    			<h1 id="palet4"></h1>
    		</h1>
    	</h1>
    </td>
      Votos: 1 - Link respuesta
     
  • Fecha: 19-02-2019 09:21:44 Buenas Tarde gracias por sus comentarios Raul tu código funciona pero en mi caso no sirve porque me redirecciona lo cual no quiero porque en este ejemplo solo tengo 1 cámara pero debo agregar 2 mas para seleccionar al mismo tiempo y cargar al mismo tiempo pero me acabo de dar cuenta que tengo un problema aun mayor que me hará cambiar todo el código, Probare con ajax a ver como me va la verdad no tengo mucho conocimiento en ajax pero la función debe ser igual, que al presionar un Botón se desplieguen 5 botones mas y al presionar uno de los 5 me traiga una serie de datos para seleccionar gracias por su ayuda volveré cuando haya cambiado el código   Votos: 0 - Link respuesta
     
  • Fecha: 20-02-2019 10:49:54 Volvi, como les habia dicho tuve un problema mayor y tenia que resolverlo antes de poder seguir y resulto q al tratar de resolver ese problema logre hacer lo que queria desde el principio el codigo funciona perfectamente y ya ejecuta el formulario, El formulario no funcionaba era por que tenia un formulario dentro de otro formulario, como asi? en el archivo (propuesta.php) tenia este codigo

    <form action="" method="POST">
            <table style="margin: 50px 0px 0px 0px"><td style="padding-top: 10px;"><button id="boton" class="btn btn-danger">Camara 1</button></td><td style="padding: 15px 15px;"><h1 id="palets"></h1></td><td><h1 id="palet1"></h1><h1 id="palet2"><h1 id="palet3"><h1 id="palet4"></h1></h1></h1></td></table>
    </form>


    y luego con el script llamaba al archivo cam1_pl1_p.php que es este

     
      <form action='test.php' method='POST' ><input type='submit' name='cargar' value='Cargar' style=''><?php 
        include("conexion.php");
        $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 1" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
        $result = mysqli_query($conexion, $sql);
        if (mysqli_num_rows($result) > 0) {
            while($row = mysqli_fetch_assoc($result)) {
                printf("<table><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 16px;'>Cajas: ".$row['totalcaja']."</td><td><input type='checkbox' value='".$row['protocolo']."' name='proto[]'></td></table>");
                }
            }
            else {
                echo "0 results";
            }
            mysqli_close($conexion);?>
    </form>
    


    y este es otro formulario lo cual me ocasionaba que no se ejecutara el segundo formulario,
    haci que lo que hice fue eliminar el primer formulario y listo el proceso corrió perfecto les dejo el código para mayor compresión cambio un poco del primero pero igual función con Onclick

    archivo propuesta.php

       <table style="margin: 50px 0px 0px 0px"><td style="padding-top: 10px;"><button id="boton" class="btn btn-danger">Camara 1</button></td><td style="padding: 15px 15px;"><h1 id="palets"></h1></td></table>
            
     <table style="margin: 50px 0px 0px 0px"><td style="padding-top: 10px;"><button id="boton_palet2" class="btn btn-danger">Camara 2</button></td><td style="padding: 15px 15px;"><h1 id="cam2_palets"></h1></td></table>
    



     <script>
       function palets(){
         document.getElementById('palets').innerHTML="<?php include('cam1_pl1_p.php'); ?>"
        }
           
       document.getElementById("boton").addEventListener("click", function(event){
         event.preventDefault()
          palets();
     });
     </script>
    
     <script>
       function cam2_palets(){
         document.getElementById('cam2_palets').innerHTML="<?php include('cam2_pl_p.php'); ?>"
        }
           
       document.getElementById("boton_palet2").addEventListener("click", function(event){
         event.preventDefault()
          cam2_palets();
     });
     </script>
    


    ARCHIVO: cam1_pl1_p.php

     <form action='test.php' method='POST' ><input type='submit' name='cargar' value='Cargar' style=''><?php 
        include("conexion.php");
        $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 1" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
        $result = mysqli_query($conexion, $sql);
        if (mysqli_num_rows($result) > 0) {
            echo "<h1 style='font-size:18px;'>Palet 1</h1>";
            while($row = mysqli_fetch_assoc($result)) {
                printf("<table><td style='border: 1px solid;'><h1 style='font-size: 14px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid; width: 70px;'><h1 style='font-size: 13px;'>Cajas: ".$row['totalcaja']."</h1></td><td><input type='checkbox' value='".$row['protocolo']."' name='proto[]'></td></table>");
            	}
            }
            else {
                echo "";
            }
            mysqli_close($conexion);?>
            <?php 
        include("conexion.php");
        $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 2" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
        $result = mysqli_query($conexion, $sql);
        
        if (mysqli_num_rows($result) > 0) {
            echo "<h1 style='font-size:18px;'>Palet 2</h1>";
            while($row = mysqli_fetch_assoc($result)) {
                printf("<table><td style='border: 1px solid;'><h1 style='font-size: 14px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid; width: 70px;'><h1 style='font-size: 13px;'>Cajas: ".$row['totalcaja']."</h1></td><td><input type='checkbox' value='".$row['protocolo']."' name='proto2[]'></td></table>");
                }
            }
            else {
                echo "";
            }
            mysqli_close($conexion);?>
            <?php 
        include("conexion.php");
        $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 3" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
        $result = mysqli_query($conexion, $sql);
        if (mysqli_num_rows($result) > 0) {
            echo "<h1 style='font-size:18px;'>Palet 3</h1>";
            while($row = mysqli_fetch_assoc($result)) {
                printf("<table><td style='border: 1px solid;'><h1 style='font-size: 14px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid; width: 70px;'><h1 style='font-size: 13px;'>Cajas: ".$row['totalcaja']."</h1></td><td><input type='checkbox' value='".$row['protocolo']."' name='proto3[]'></td></table>");
                }
            }
            else {
                echo "";
            }
            mysqli_close($conexion);?>
            <?php 
        include("conexion.php");
        $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 4" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
        $result = mysqli_query($conexion, $sql);
        if (mysqli_num_rows($result) > 0) {
            echo "<h1 style='font-size:18px;'>Palet 4</h1>";
            while($row = mysqli_fetch_assoc($result)) {
                printf("<table><td style='border: 1px solid;'><h1 style='font-size: 14px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid; width: 70px;'><h1 style='font-size: 13px;'>Cajas: ".$row['totalcaja']."</h1></td><td><input type='checkbox' value='".$row['protocolo']."' name='proto4[]'></td></table>");
                }
            }
            else {
                echo "";
            }
            mysqli_close($conexion);?>
            <?php 
        include("conexion.php");
        $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 5" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
        $result = mysqli_query($conexion, $sql);
        if (mysqli_num_rows($result) > 0) {
            echo "<h1 style='font-size:18px;'>Palet 5</h1>";
            while($row = mysqli_fetch_assoc($result)) {
                printf("<table><td style='border: 1px solid;'><h1 style='font-size: 14px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid; width: 70px;'><h1 style='font-size: 13px;'>Cajas: ".$row['totalcaja']."</h1></td><td><input type='checkbox' value='".$row['protocolo']."' name='proto5[]'></td></table>");
                }
            }
            else {
                echo "";
            }
            mysqli_close($conexion);?>
            <?php 
        include("conexion.php");
        $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 6" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
        $result = mysqli_query($conexion, $sql);
        if (mysqli_num_rows($result) > 0) {
            echo "<h1 style='font-size:18px;'>Palet 6</h1>";
            while($row = mysqli_fetch_assoc($result)) {
                printf("<table><td style='border: 1px solid;'><h1 style='font-size: 14px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid; width: 70px;'><h1 style='font-size: 13px;'>Cajas: ".$row['totalcaja']."</h1></td><td><input type='checkbox' value='".$row['protocolo']."' name='proto6[]'></td></table>");
                }
            }
            else {
                echo "";
            }
            mysqli_close($conexion);?>
            <?php 
        include("conexion.php");
        $sql = 'SELECT origen, protocolo, fecha_list,tipo, count(caja) as totalcaja FROM cam1 WHERE palet="Palet 7" GROUP BY protocolo ORDER BY origen, protocolo, fecha_list';
        $result = mysqli_query($conexion, $sql);
        if (mysqli_num_rows($result) > 0) {
            echo "<h1 style='font-size:18px;'>Palet 7</h1>";
            while($row = mysqli_fetch_assoc($result)) {
                printf("<table><td style='border: 1px solid;'><h1 style='font-size: 14px;'>Origen: ".$row['origen']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Protocolo: ".$row['protocolo']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'> Fecha de Listado: ".$row['fecha_list']."</h1></td><td style='border: 1px solid;'><h1 style='font-size: 13px;'>Tipo: ".$row['tipo']."</h1></td><td style='border: 1px solid; width: 70px;'><h1 style='font-size: 13px;'>Cajas: ".$row['totalcaja']."</h1></td><td><input type='checkbox' value='".$row['protocolo']."' name='proto7[]'></td></table>");
                }
            }
            else {
                echo "";
            }
            mysqli_close($conexion);?>
    </form>
    


    aquí si deje el formulario que me lleva al archivo test.php

     <?php
    	/*------Solo valor*/
    if(isset($_POST)){
        foreach ($_POST['proto'] as $proto) {
            echo 'valor: '.$proto.'<br>';
            include("conexion.php");
    			$delete = "DELETE FROM cam1 where palet='Palet 1' and protocolo='$proto'";
    			mysqli_query($conexion,$delete);
        }
    }
    ?>
    <?php
    	/*------Solo valor*/
    if(isset($_POST)){
        foreach ($_POST['proto2'] as $proto2) {
            echo 'valor: '.$proto2.'<br>';
            include("conexion.php");
    			$delete = "DELETE FROM cam1 where palet='Palet 2' and protocolo='$proto2'";
    			mysqli_query($conexion,$delete);
        }
    }
    ?>
    <?php
    	/*------Solo valor*/
    if(isset($_POST)){
        foreach ($_POST['proto3'] as $proto3) {
            echo 'valor: '.$proto3.'<br>';
            include("conexion.php");
    			$delete = "DELETE FROM cam1 where palet='Palet 3' and protocolo='$proto3' ";
    			mysqli_query($conexion,$delete);
        }
    }
    ?>
    <?php
    	/*------Solo valor*/
    if(isset($_POST)){
        foreach ($_POST['proto4'] as $proto4) {
            echo 'valor: '.$proto4.'<br>';
            include("conexion.php");
    			$delete = "DELETE FROM cam1 where palet='Palet 4' and protocolo='$proto4'";
    			mysqli_query($conexion,$delete);
        }
    }
    ?>
    <?php
    	/*------Solo valor*/
    if(isset($_POST)){
        foreach ($_POST['proto5'] as $proto5) {
            echo 'valor: '.$proto5.'<br>';
            include("conexion.php");
    			$delete = "DELETE FROM cam1 where palet='Palet 5' and protocolo='$proto5'";
    			mysqli_query($conexion,$delete);
        }
    }
    ?>
    <?php
    	/*------Solo valor*/
    if(isset($_POST)){
        foreach ($_POST['proto6'] as $proto6) {
            echo 'valor: '.$proto6.'<br>';
            include("conexion.php");
    			$delete = "DELETE FROM cam1 where palet='Palet 6' and protocolo='$proto6'";
    			mysqli_query($conexion,$delete);
        }
    }
    ?>
    <?php
    	/*------Solo valor*/
    if(isset($_POST)){
        foreach ($_POST['proto7'] as $proto7) {
            echo 'valor: '.$proto7.'<br>';
            include("conexion.php");
    			$delete = "DELETE FROM cam1 where palet='Palet 7' and protocolo='$proto7'";
    			mysqli_query($conexion,$delete);
        }
    }
    ?>
    
    



    y listo oprimo el botón camara y se despliega una serie de datos que pueden ser tildados con un checkbox y solo los datos que yo seleccione son los que se ejecutaran en el proceso

    Gracias a todos por su ayuda nos vemos en la proxima
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com