PHP - Problemas al usar INSET INTO

 
Vista:

Problemas al usar INSET INTO

Publicado por Lázaro (2 intervenciones) el 03/09/2018 22:01:34
Hola a todos, tengo un problema a la hora de insertar valores a mi base de datos, el valor que jalo desde mis checkboxs si los obtiene pero a la hora de insertarlos no guarda nada se quedan en blanco no se que pasa les dejo mi código y una captura de lo que me muestra he ido imprimiendo el valor que me debería de guardar pero no se que pasa, me atore en eso, agradezco sus comentarios.
Captura-de-pantalla-84

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
        //conectar con el servidor
        $conectar = @mysqli_connect("localhost", "root","", "mexico");
 
        //checar la conection
        if (!$conectar)
        {
            echo"<script type=\"text/javascript\">alert('No se pudo conectar con la base de datos');
            window.location='index.html';
            </script>";
        }
        else
        {
            ?>
            <br>
            <div class="table-responsive">
                <form method="Post">
                    <input type="checkbox" name="estados[]" value="ID_LOCALIDAD">ID_LOCALIDAD
                    <input type="checkbox" name="estados[]" value="ID_MUNICIPIO">ID_MUNICIPIO
                    <input type="checkbox" name="estados[]" value="LOCALIDAD">LOCALIDAD
                    <input type="submit" name="enviar" value="Enviar">
                  </form>
                  <br>
                  <table class="table table-bordered table-striped">
                <thead>
                    <tr>
                        <!-- definimos cabeceras de la tabla -->
                 <?php
                    echo $consulta1;
                    $nt = explode("OR", $consulta1);
                    $length = count($nt);
                    echo $length;
                        for($i=0;$i<$length;$i++)
                        {
                        ?>
                            <th> <?php echo $x = $nt[$i];?></th>
 
                        <?php
                            echo "**********$x***************";
                            $guarda = "INSERT INTO dato ('Dato') VALUES ('$x')";
                            echo "+++++++++++++++$x******" ;
                            $tabla4 = mysqli_query($conectar, $guarda);
                            echo "==>$tabla4";
                            if (!$tabla4)
                            {
                                echo "Hubo Errores en la Ejecucion";
                            }
                            else
                            {
                                echo "<script type=\"text/javascript\">alert('los datos que guardaste son: ==> L¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬$x');</script>";
                            }
                        }
                        //echo "    == == == == ==> ya casi";
 
                        ?>
                    </tr>
                </thead>
 
              </table>
            </div>
            <?php
        }
        ?>
    	<script src="js/jquery.js"></script>
    	<script src="js/bootstrap.min.js"></script>
    </body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas al usar INSET INTO

Publicado por xve (6935 intervenciones) el 04/09/2018 12:23:23
Hola Lázaro, que valor tiene la variable $consulta1?

Te muestra los valores correctamente en la linea 41?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problemas al usar INSET INTO

Publicado por Lázaro (2 intervenciones) el 04/09/2018 20:10:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
//valor inicial de la cadena Consulta
//$consulta1 = "SELECT * FROM filtros WHERE";
//Pregunto si ha sido enviado el formulario , en este caso si el arreglo POST presenta el indice enviar que no es mas que el nombre del botón del formulario
if(isset($_POST["enviar"])){
    //Notificamos todos los errores menos el de E_NOTICE es el que se genera en tiempo de ejecucion 
    error_reporting(error_reporting() & ~E_NOTICE);
    //Almaceno la longitud del arreglo para comparar posteriormente y para tomarlo como referencia en el ciclo for a continuación
    $length = count($_POST["estados"]);
    //Recorro el arreglo pasado por el formulario con los valores de los checkbox que fueron marcados
    for($i=0;$i<$length;$i++){
        //Actualizo el valor de consulta para que vaya concatenando en cada iteración
        //Al final hago una condición que significa que si ha llegado al ultimo elemento del arreglo
        //No debe agregar nada despues, de lo contrario le anexa un 'OR'.
        $consulta1 .= " '".$_POST["estados"][$i]."'".(($i == $length-1)?"":" OR");
    }
}
?>
Esta parte de código es donde ocupo la variable consulta1 y me retorna los valores obtenidos en la elección de mis checkbox separados por un OR, de echo estoy imprimiendo antes y después de insertar en la bd y los muestra correctamente no entiendo que esta pasando.
intente hacerlo de otra forma para ver si me dejaba guardar los valores en diferentes variables y después manipular pero tampoco me los compara no entiendo que esta pasando.
Intente esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
echo $consulta1;
$nt = explode("OR", $consulta1);
$length = count($nt);
//echo $length;
for($i=0;$i<$length;$i++)
//foreach ($nt as &$val)
{
    ?>
    <th><?php echo $nt[$i];?></th>
    <?php
    echo "<br>";
    echo ">>>>>>>>"+$nt[$i];
    if($nt[$i] == "ID_LOCALIDAD")
    {
        $z=$nt[$i];
    }
    if ($nt[$i] =="ID_MUNICIPIO")
    {
        $z1= $nt[$i];
    }
    if ($nt[$i] =="LOCALIDAD")
    {
        $z2= $nt[$i];
    }
}
 
echo "<br>";
echo "********$z";
echo "<br>";
echo "--------$z1";
echo "<br>";
echo "++++++++$z2";
echo "<br>";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problemas al usar INSET INTO

Publicado por xve (6935 intervenciones) el 05/09/2018 08:35:16
Hola Lázaro, pero cuando tu crear tu variable $consulta1, en su interior pones comillas simples... creo que por esa razón no te funciona!!
1
$consulta1 .= " '".$_POST["estados"][$i]."'".(($i == $length-1)?"":" OR");

Cuando haces el:
1
echo $consulta1;
Exactamente que te muestra en pantalla?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar