PHP - problemas con checkbox

   
Vista:
Imágen de perfil de Sophie

problemas con checkbox

Publicado por Sophie (15 intervenciones) el 10/04/2015 18:40:13

Holas, tengo un problema tonto con el checkbox, me daña todo el codigo y verifico y no encuentro el error, alguien podria ayudarme?

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
<table WIDTH="100%" BORDER="1" BGCOLOR="#F7BE81" class="tablaproductos">
<tr>
      <th>Tomo</th>
      <th>Codigo</th>
      <th>Ruta</th>
      <th>Descripcion</th>
      <th>Cantidad</th>
      <th>Unidad</th>
      <th>Estado</th>
      <th>Fecha</th>
      <th> <input type="submit" name="bteli" value="Eliminar"/></th>
    </tr>
<?php
include 'conexion.php';
 
 
echo ('
    <form  action="eliminar.php" method="post">

    ');
// and fecha="'.$_POST["fecha"].'"
$informacion=('select * from pedidos where ruta="'.$_POST["ruta"].'" and fecha="'.$_POST["fecha"].'"');
 $consulta=(mysql_query($informacion,$conexion));
 
 
 
  while ($datos = mysql_fetch_array($consulta)) {
 
 
    echo "
      <tr><td>".$datos["tomo"]."</td>
      <td>".$datos["codigo"]."</td>
      <td>".$datos["ruta"]."</td>
      <td>".$datos["descripcion"]."</td>
      <td>".$datos["cantidad"]."</td>
      <td>".$datos["unidad"]."</td>
      <td>".$datos["estado"]."</td>
      <td>".$datos["fecha"]."</td>

      <td> <input name="codigos" type="checkbox" value=".$datos["codigo"]." /> </td>

      </tr> ";
 
      }
   echo "</table>
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 Alberto

problemas con checkbox

Publicado por Alberto (222 intervenciones) el 10/04/2015 19:11:28
Hola, otra vez xD...

Lo que intentas es que al momento de hacer click en un checkbox, elimines ese elemento con el botón de Eliminar???
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 Sophie

problemas con checkbox

Publicado por Sophie (15 intervenciones) el 10/04/2015 21:20:51
Holaaaa...
Exacto :D sabes cual es el problema con ese checkbox?
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 Alberto

problemas con checkbox

Publicado por Alberto (222 intervenciones) el 10/04/2015 22:23:12
Hola...


Mas que nada se debe a la ubicación de tu FORM el que te provoca se dañe tu código, no puedes modificar la estructura con que creas una tabla en HTML; es decir, debemos respetar la forma con que creamos una tabla sin tener que agregar etiquetas que rompan con esa estructura, sin embargo, si es posible enviar datos de una tabla mediante un FORM, te proporciono un ejemplo de como debería quedar tu código.

Formulario.php
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
<html>
	<head>
		<title>Eliminar</title>
	</head>
	<body>
		<form action="controlador.php" method="post">
			<table>
				<tr>
					<th>Nombre</th>
					<th>Apellidos</th>
					<th>Edad</th>
					<th></th>
				</tr>
				<?php
					$conn = mysqli_connect('localhost','root','','practicas');
					$sql = "SELECT * FROM usuario";
					$result = mysqli_query($conn,$sql);
					while($row = mysqli_fetch_array($result)){
						echo "<tr>
							<td>".$row[1]."</td>
							<td>".$row[2]."</td>
							<td>".$row[3]."</td>
							<td><input type='radio' value=".$row[0]." name='ckhEliminar'/></td>
						</tr>";
					}
				?>
				<tr>
					<td></td>
					<td></td>
					<td></td>
					<td><input type="submit" value="Eliminar"/></td>
				</tr>
			</table>
		</form>
	</body>
</html>

Control.php
1
2
3
4
5
6
7
8
<?php
	$id=$_POST['ckhEliminar'];
	$conn = mysqli_connect('localhost','root','','practicas');
	$sql = "DELETE FROM usuario WHERE id_user = ".$id."";
	$result = mysqli_query($conn,$sql);
	echo "Se ha borrado el registro con el identificador n&uacute;mero: ".$id.".";
	header('Location: formulario.php');
?>

Solo hay que adecuarlo a tus necesidades y listo, el código que te proporciono es completamente funcional.

Cualquier duda y/o inconveniente aquí estamos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Sophie

problemas con checkbox

Publicado por Sophie (15 intervenciones) el 10/04/2015 22:40:14
Aww pero alberto, perdona pero ps el cambio mas relevante que le veo
son q se ingreso los encabezados dentro del form,
lo que sucede es que mi código funciona en la búsqueda perfectamente
pero cuando intento agregarle el checkbox ya no funciona.
entonces doy por hecho deq mi error debe ir en una mala llamada o
falta de algún símbolo, ps creo.
noc... estoy demasiado errada ?
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 Alberto

problemas con checkbox

Publicado por Alberto (222 intervenciones) el 10/04/2015 23:02:23
Hola....

Lo que pasa es que aunque parezca insignificante el cambio, es una mala práctica lo que tu estas haciendo, no me atrevería a llamarlo un error total, sin embargo, es algo que por gramática no es correcto, incluso si buscas en Internet un tutorial con respecto al tema verás que cuando trabajan con tablas la creación de la tabla completa va siempre dentro del FORM y nunca el FORM dentro de la tabla, podríamos tomarlo como un "estandar". Ahora bien, si eres observadora te darás cuenta de algo muy importante, tu botón no esta dentro del FORM mientras que en mi código si va dentro, la razón es porque la propiedad action especifica a dónde enviar los datos cuando se ejecuta un evento el cual en este caso es del tipo click, tal como es el caso del submit.

Cualquier duda y/o comentario, aquí estamos.
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 Sophie

problemas con checkbox

Publicado por Sophie (15 intervenciones) el 13/04/2015 15:07:53
Alberto, buen dia...
Eh organizado el codigo como me lo haz recomendado y ah funcionado de maravilla, ahora resulto un nuevo problema.

Utilizando el codigo de eliminar que haz pasado, el actualiza la pag pero borra todos los datos aparentemente.... todos... incluyendo los q no pertenecen a ese id, pero cuando me voy a revisar la bd o realizo denuevo la consulta los datos vuelven a aparecer... no los borra, nic que hace entonces jajaja

te comparto como lo tengo y abusando de tu generosidad te pido ayuda nuevamente.



index1.php

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
<?php
include 'conexion.php';
 
 
 
echo ('

    <form  action="eliminar.php" method="post">
  

<center>
  <table WIDTH="100%" BORDER="1" BGCOLOR="#F7BE81" class="tablaproductos">
<tr>
      <th>Tomo</th>
      <th>Codigo</th>
      <th>Ruta</th>
      <th>Descripcion</th>
      <th>Cantidad</th>
      <th>Unidad</th>
      <th>Estado</th>
      <th>Fecha</th>
      <th> <input type="submit" name="eliminar" value="eliminar"/></th>
    </tr>
 
      ');


$informacion=('select * from pedidos where ruta="'.$_POST["ruta"].'" and fecha="'.$_POST["fecha"].'"');
 $consulta=(mysql_query($informacion,$conexion));

 	
    while ($datos = mysql_fetch_array($consulta)) {
    
  
    echo "
      <tr><td>".$datos["tomo"]."</td>
      <td>".$datos["codigo"]."</td>
      <td>".$datos["ruta"]."</td>
      <td>".$datos["descripcion"]."</td>
      <td>".$datos["cantidad"]."</td>
      <td>".$datos["unidad"]."</td>
      <td>".$datos["estado"]."</td>
      <td>".$datos["fecha"]."</td>
      <td> <center><input name='codigos' type='radio' value='".$datos["codigo"]."' /> </td>
       </center>
        
      </tr> "; 

      }



   echo "</table> 
   </form>"; 


   
mysql_query($informacion,$conexion);

?>


eliminar.php

1
2
3
4
5
6
7
8
9
10
11
12
<?php
 
include 'conexion.php';
 
$id=$_POST['eliminar'];
 
	$sql = "DELETE FROM pedidos WHERE codigo = ".$id."";
	$result = mysqli_query($conexion,$sql);
	echo "Se ha borrado el registro con el identificador n&uacute;mero: ".$id.".";
	header('Location: index1.php');
 
?>

Agradeseria mucho la ayuda.
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 Alberto

problemas con checkbox

Publicado por Alberto (222 intervenciones) el 13/04/2015 19:18:01
Hola...

Ejecute tu código y a mi ni siquiera me los borraba, la razón se debía a que en la variable $id estas recuperando el valor de eliminar cuando debes recuperar el valor del radio ya que es ese elemento el que ya tiene cargado el id; es decir, $id=$_POST['codigos'];.

Solo modifique esa línea y me funciono perfecto.

Cualquier duda y/o comentario, aquí estamos. Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Sophie

problemas con checkbox

Publicado por Sophie (15 intervenciones) el 14/04/2015 15:47:57

Alberto, no entiendo, si ejecutas mi mismo código
como a ti te funciona y ami no,
eh modificado la $id=$_POST['codigos'];
y aun así no funciona, me sigue borrando todo
de la pag mas no de la bd,
no entiendo cual puede ser la razón de que
entonces me este fallando la eliminación del dato.


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 Alberto

problemas con checkbox

Publicado por Alberto zhapyro_5@hotmail.com (222 intervenciones) el 14/04/2015 17:07:13
Porque no hacemos esto... Pasame tu proyecto tal y como lo tienes, con el cambio corregido y con gusto lo corro de manera local para ver cual es el problema, ya sea que lo envíes a mi correo, lo subas por aquí o me agregues al Skype (Búscame por mi correo) y ahí me lo pasas, en fin... El punto es que necesitaría tu proyecto y tu base de datos...

Cualquier duda y/o inconveniente, aquí estamos. Suerte!
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