PHP - ayuda table por favor

 
Vista:
sin imagen de perfil

ayuda table por favor

Publicado por Sebastian (5 intervenciones) el 30/08/2016 19:14:03
tengo una table en php cargada de la BD, (la cargo con un while).

hasta ahi no tengo problemas, tengo un boton eliminar al lado de cada fila, al presionar el boton eliminar no importa de cual fila, se me elimina siempre la ultima.

por favor se agradece su ayuda.
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 Lgato
Val: 7
Ha aumentado su posición en 20 puestos en PHP (en relación al último mes)
Gráfica de PHP

ayuda table por favor

Publicado por Lgato (3 intervenciones) el 30/08/2016 19:19:48
podrias poner el codigo ?
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
sin imagen de perfil

ayuda table por favor

Publicado por Sebastian (5 intervenciones) el 30/08/2016 19:25:23
si, se me olvido :P


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
68
69
70
71
72
73
74
75
76
77
78
79
<?php
$mysqli = new mysqli('localhost', 'rocklt', 'rocklt', 'appweb');
 
$sql = "SELECT *FROM deudores";
 
$consulta = $mysqli->query($sql);
 
?>
 
<html lang="en">
 
<head>
 
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
 
<script type="text/javascript" language="javascript" src="js/config_datatable_api.js"></script>
</head>
<body>
<tbody>
 <form action="eliminar.php" method="post" >
<div class="col-md-10 col-md-offset-1">
	<div class="panel panel-default panel-table">
            <div class="panel-heading">
 
				<table align="center">
					<thead>
 
						<tr>
						<th> <label>Nombre</label></th>
 
						<th> <label>Objeto</label></th>
 
						<th><label>Codigo</label></th>
 
						<th><label>Fecha Prestamo</label></th>
 
						<th><label>Fecha Entrega</label></th>
 
						<th><label>Insulto</label></th>
						</tr>
 
					</thead>
			</div>
 
 <?php
 
		  while ($filas = $consulta->fetch_assoc())
		  {
			echo' <tr>';
 
			echo '<td><input class="form-control" name="nombre[]" type="text" value ="'.utf8_encode ($filas['nombre']).'"placeholder="Nombre" /></td>';
 
			echo '<td><input class="form-control" name="objeto[]" type="text" value ="'.utf8_encode ($filas['objeto']).'"placeholder="OBjeto" /></td>';
 
			echo '<td><input class="form-control" name="codigo" type="text" value ="'.utf8_encode ($filas['codigo']).'"placeholder="Codigo" /></td>';
 
			echo '<td><input class="form-control" name="fechapre[]" type="text" value ="'.utf8_encode ($filas['fechap']).'"placeholder="fecha" /></td>';
 
			echo '<td><input class="form-control" name="fechade[]" type="text" value ="'.utf8_encode ($filas['fechad']).'"placeholder="fecha" /></td>';
 
			echo '<td><input class="form-control" name="dia[]" type="text" value ="'.utf8_encode ($filas['dias']).'"placeholder="dias" /></td>';
 
			echo '<td><input type="submit" id="borrar[]" value="Borrar" /></td>';
 
			echo '</tr>';
 
		  }
		echo '</table>';
		 ?>
 
	</div>
</div>
 </form>
 </tbody>
</body>
</html>






CODIGO DE ELIMINAR

1
2
3
4
5
6
7
8
9
<?php
$link =mysql_connect("localhost","rocklt","rocklt");
mysql_select_db("appweb",$link);
$cod=$_POST['codigo'];
 
mysql_query("DELETE FROM deudores WHERE codigo ='$cod'");
mysql_close($link);
 
?>
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 Developer

ayuda table por favor

Publicado por Developer (52 intervenciones) el 30/08/2016 19:57:04
Hola amigo,
el detalle es que estás construyendo tus registros en un sólo formulario, es por eso que cuando lo mandas, el código lleva el último valor de tu último registro.
Yo te aconsejaría hacerlo mediante ajax , o ya en un caso extremo, hacer un formulario por cada registro...
Saludos!
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 Lgato
Val: 7
Ha aumentado su posición en 20 puestos en PHP (en relación al último mes)
Gráfica de PHP

ayuda table por favor

Publicado por Lgato (3 intervenciones) el 30/08/2016 21:58:45
es verdad lo que dice el comentario del usuario, tambien has pensado en utilizar un metodo mas seguro? que version de php estas usando?

pd. disculpen mis faltas de otrografia pero el espanol es mi segunda lengua
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 kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

ayuda table por favor

Publicado por kip (877 intervenciones) el 30/08/2016 22:19:07
Hola, lo que sucede es que estan enviando todos los datos como array menos el codigo, si te fijas no colocas los [] en el atributo name, por ende te tomara el ultimo, lo que te aconsejo es que hagas un form por cada registro, es decir cada registro sera un pequeo form que contendra sus unicos valores, asi al enviarlo no confundiras ninguna y ademas no sera necesario que uses [] para los name, seria algo asi:

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
<?php
 
while ($filas = $consulta->fetch_assoc())
{
 
echo' <form action="eliminar.php" method="post" >';
 
echo' <tr>';
 
echo '<td><input class="form-control" name="nombre" type="text" value ="'.utf8_encode ($filas['nombre']).'"placeholder="Nombre" /></td>';
 
echo '<td><input class="form-control" name="objeto" type="text" value ="'.utf8_encode ($filas['objeto']).'"placeholder="OBjeto" /></td>';
 
echo '<td><input class="form-control" name="codigo" type="text" value ="'.utf8_encode ($filas['codigo']).'"placeholder="Codigo" /></td>';
 
echo '<td><input class="form-control" name="fechapre" type="text" value ="'.utf8_encode ($filas['fechap']).'"placeholder="fecha" /></td>';
 
echo '<td><input class="form-control" name="fechade" type="text" value ="'.utf8_encode ($filas['fechad']).'"placeholder="fecha" /></td>';
 
echo '<td><input class="form-control" name="dia" type="text" value ="'.utf8_encode ($filas['dias']).'"placeholder="dias" /></td>';
 
echo '<td><input type="submit" id="borrar" value="Borrar" /></td>';
 
echo '</tr>';
 
echo '</form>';
 
}
echo '</table>';
?>

Recuerda eliminar la anterior y posterior linea donde declaras el form, fuera del while para que te funcione.

No es la mejor forma de solucionarlo pero si aun quieres seguir con este metodo (sencillo), es lo mas conveniente, aunque como te comentan puedes usar AJAX, pero prueba de esta forma, luego con mas conocimiento aventurate a AJAX.

Nps comentas como te fue.

Saludos
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
sin imagen de perfil

ayuda table por favor

Publicado por Sebastian (5 intervenciones) el 31/08/2016 13:27:29
MUCHAS GRACIAS! ME FUNCIONO PERFECTO! TE LO AGRADEZCO :)! ,

me acaba de suceder otra cosa :P,

al eliminar me limina todo bien pero si la variable es EJ: 123'12

al tener " ' " entre sus caracteres, no me lo elimina de la BD.

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 kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

ayuda table por favor

Publicado por kip (877 intervenciones) el 31/08/2016 14:28:35
Usa la funcion addslashes() dentro del codigo donde vayas a eliminar en tu variable a pasar como parametro, asi:

1
2
3
4
5
6
7
8
9
<?php
$link =mysql_connect("localhost","rocklt","rocklt");
mysql_select_db("appweb",$link);
$cod=addslashes($_POST['codigo']);
 
mysql_query("DELETE FROM deudores WHERE codigo ='$cod'");
mysql_close($link);
 
?>

http://php.net/manual/es/function.addslashes.php
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
sin imagen de perfil

ayuda table por favor

Publicado por Sebastian (5 intervenciones) el 31/08/2016 15:34:42
GRACIAS! ahora me ha ocurrido otro incombeniente XD....

cree un modal para que ingresen campos para insertarlos en la tabla, pero del form del modal no me direcciona a insertar.php

por ende no me inserta en la BD :/
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
sin imagen de perfil

ayuda table por favor

Publicado por Sebastian (5 intervenciones) el 31/08/2016 15:57:43
1
2
3
4
5
6
7
8
9
10
11
$link =mysql_connect("localhost","rocklt","rocklt");
mysql_select_db("appweb",$link);
$nom=($_POST['nombre1']);
$obj=($_POST['objeto1']);
$cod=($_POST['codigo1']);
$fp=($_POST['fechap1']);
$fe=($_POST['fechae1']);
$in=($_POST['insul1']);
 
 
mysql_query("INSERT INTO deudores (nombre,objeto,codigo,fechap,fechad,dias)values ('$nom','$obj','$cod''$fp','$fe','$in')");

esta algo mal en la query? :/
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