Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Borrar Fila de una tabla usando un link

Estas en el tema de Borrar Fila de una tabla usando un link en el foro de PHP en Foros del Web. Hola que tal, es mi primera vez y recurro a ustedes porque necesito ayuda con una tabla, estoy haciendo una seccion de comentarios para una ...
  #1 (permalink)  
Antiguo 13/05/2013, 09:40
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Borrar Fila de una tabla usando un link

Hola que tal, es mi primera vez y recurro a ustedes porque necesito ayuda con una tabla, estoy haciendo una seccion de comentarios para una pagina web donde el Administrador pueda eliminar los comentarios que el desee de una tabla por medio de un link soy nuevo en esto de la programacion en verdad necesito ayuda ya me urge gracias

<?php
$con=mysqli_connect("localhost","root","","prueba1 ");

if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$query = mysqli_query($con, "SELECT * FROM comentarios");

echo "<table cellpadding='20' style='border:collapse:collapse' bgcolor='#DBDBDB' width='1200' border='1' align='center'>";
echo "<tr bgcolor='#DBDBDB'>";
echo "<td><b></b></td>";
echo "<td><b>User:</b></td>";
echo "<td><b>Comment:</b></td>";
echo "<td><b>Delete:</b></td>";

while ($row = mysqli_fetch_array($query)){
echo "<tr>";
echo "<td><a href='eliminaproceso.php?id=".$row[$id_comentario]."'>Eliminar</a></td>";
echo "<td>".$row['id_comentario']."</td>";
echo "<td>".$row['nombre']."</td>";
echo "<td>".$row['comentario']."</td>";
echo "</tr>";

}

?>


y el archivo de elimina es este



<?php

$con=mysql_connect("localhost","root","","prueba1" );
$query=mysql_query("delete from comentarios where id_comentario=".$_GET['id_comentario']);
header('location:delete.php');

?>


mmm la idea la tengo pero no se llevarla a cabo me enredo mucho porfavor necesito de su ayuda
De antemano muchas gracias
buen dia
  #2 (permalink)  
Antiguo 13/05/2013, 09:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Borrar Fila de una tabla usando un link

¿A qué se debe la urgencia?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 13/05/2013, 09:51
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 12
Respuesta: Borrar Fila de una tabla usando un link

Buenas, Bienvenido

para mi el error esta aca

echo "<td><a href='eliminaproceso.php?id=".$row[$id_comentario]."'>Eliminar</a></td>";

correjilo asi:

echo "<td><a href='eliminaproceso.php?id=".$row['id_comentario']."'>Eliminar</a></td>";

Luego contanos como te fue

Saludos.
  #4 (permalink)  
Antiguo 13/05/2013, 10:33
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por pablo_exeg Ver Mensaje
Buenas, Bienvenido

para mi el error esta aca

echo "<td><a href='eliminaproceso.php?id=".$row[$id_comentario]."'>Eliminar</a></td>";

correjilo asi:

echo "<td><a href='eliminaproceso.php?id=".$row['id_comentario']."'>Eliminar</a></td>";

Luego contanos como te fue

Saludos.
Si pablo perdon por el horror de sintaxis pero aun asi no elimina jaja mm pero sigue sin eliminar
  #5 (permalink)  
Antiguo 13/05/2013, 10:36
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por pateketrueke Ver Mensaje
¿A qué se debe la urgencia?
ammm porque tengo que entregar el trabajo a mas tardar la proxima semana, no soy muy apegado a la programacion de hecho casi nada lo que se es porque he leido pero como dicen la practica hace al maestro, y a mi lo que me hace falta es practica y nunca es tarde para empezar, lo malo o mejor dicho lo pesimo es que me cuesta comprender el codigo eso me estresa pero quiero intentarlo pero como ya me desespere jeje pedi ayuda
Saludos
  #6 (permalink)  
Antiguo 13/05/2013, 10:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Borrar Fila de una tabla usando un link

¿Cómo sabes que no elimina?

Necesitas aprender a depurar tu código, ya que no es posible que no verifiques lo que hace tu programación conforme la escribes, sin mas información es complicado saber de que se trata, tampoco somos adivinos.

Depura tu código así:
Código PHP:
Ver original
  1. $con=mysql_connect("localhost","root","","prueba1" );
  2. $sql = "delete from comentarios where id_comentario=".$_GET['id_comentario'];
  3. $query=mysql_query($sql) or die('ERROR: '.mysql_error() . '; SQL: '.$sql);
  4. header('location:delete.php');
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 13/05/2013, 11:06
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Mira este codigo me lo pasaron para modificarlo

Código PHP:
Ver original
  1. <?php
  2. $con=mysql_connect("localhost","root","","prueba1");
  3.  
  4.   $result ="SELECT id_comentario, nombre, comentario as 'nombre' from comentarios";
  5.  
  6. $query=mysql_query($con,$result); /*lineas 112*/
  7. echo"<table border='1'></tr>";
  8. for($i=0;$i<mysql_num_fields($query);$i++){  /*lineas 114*/
  9. $nombrefila=mysql_field_name($query,$i);
  10. echo "<th>".$nombrefila."</th>";
  11. }echo"</tr>";
  12. while($fila=mysql_fetch_row($query)){ /*lineas 118*/
  13.     echo "<tr>";
  14.     for($a=0;$a<mysql_num_fields($query);$a++){
  15.         if($a==0){
  16.             echo "<td><a href='eliminaproceso.php?id=".$fila[$a]."'>Eliminar</a></td>";
  17.         }
  18.         echo "<td>".$fila[$a]."</td>";
  19.         }
  20.         echo "</tr>";
  21. }
  22. echo "</table>";
  23. ?>


pero me salen estos errores:

Warning: mysql_query() expects parameter 1 to be string, resource given in C:\xampp\htdocs\xampp\my_site\contacto1.php on line 112

Warning: mysql_num_fields() expects parameter 1 to be resource, null given in C:\xampp\htdocs\xampp\my_site\contacto1.php on line 114

Warning: mysql_fetch_row() expects parameter 1 to be resource, null given in C:\xampp\htdocs\xampp\my_site\contacto1.php on line 118
  #8 (permalink)  
Antiguo 13/05/2013, 11:09
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Borrar Fila de una tabla usando un link

Apoyo a pateketrueke, queréis programar pero no os quereis enseñar a depurar ?! No tiene logica. Cuando posteas algun tipo de codigo usa [ code] [ /code] para formatear lo pliis

Consejos:
$_GET['id_comentario'] tiene que ser integer. Ya sabemos que PHP es typeless pero vamos ...
usa var_dump o print_r para ver el contenido de tus arrays ($_GET, $row etc)

Solo una cosa. Mientras lo depuras quita header('location:delete.php'); por que a lo mejor no llegas ni a ver el error.
  #9 (permalink)  
Antiguo 13/05/2013, 11:12
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Borrar Fila de una tabla usando un link

.... :D

Cita:
Mal:
$query=mysql_query($con,$result); /*lineas 112*/

Bien:
$query=mysql_query($result, $con);
Pon bien los nombres a las variables.
Poniendo los nombres de las variables bien consigues un self-documenting code. $result se debe de llamar $queryString o $querySelect o bien $selectQuery por ejemplo, y $query se debe de llamar $queryResult o algo asi
pero no puedes poner $result al query :|
  #10 (permalink)  
Antiguo 13/05/2013, 11:23
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por bulter Ver Mensaje
.... :D



Pon bien los nombres a las variables.
Poniendo los nombres de las variables bien consigues un self-documenting code. $result se debe de llamar $queryString o $querySelect o bien $selectQuery por ejemplo, y $query se debe de llamar $queryResult o algo asi
pero no puedes poner $result al query :|

Ok ok Bulter lo del header ya lo quite y me mandaba la pagina en blanco. y los comentarios de que dicen /*linea 112*/ 114, 118 solo los puse para que ustedes identificaran las lineas para no poner todo el codigo que tengo en el archivo.
Gracias por lo del tipo de dato
checare eso
  #11 (permalink)  
Antiguo 13/05/2013, 11:33
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Borrar Fila de una tabla usando un link

Pues si te da pagina en blanco a lo mejor el error es de otro tipo pon esto:

Código PHP:
$con=mysql_connect("localhost","root","","prueba1" );
$sql "delete from comentarios where id_comentario='".(int)$_GET['id_comentario']."'";
$query=mysql_query($sql) or die('ERROR: '.mysql_error() . '; SQL: '.$sql);

echo 
$sql
y di nos lo que te sale
  #12 (permalink)  
Antiguo 13/05/2013, 11:40
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Me mada el siguiente error:
ERROR: No database selected; SQL: delete from comentarios where id_comentario='0'
  #13 (permalink)  
Antiguo 13/05/2013, 11:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Borrar Fila de una tabla usando un link

Pues te falta usar mysql_selectd_db ¿no?
  #14 (permalink)  
Antiguo 13/05/2013, 11:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Borrar Fila de una tabla usando un link

Ahora también revisa que $_GET['id_comentario'] te regresa en 0, ese puede ser otro problema (a menos que sí sea ese ID.
  #15 (permalink)  
Antiguo 13/05/2013, 11:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Borrar Fila de una tabla usando un link

El cero se da por forzar el tipo (int), al parece están trabajando sin el reporte de errores, porque dicha variable puede no existir o estar vacía, por eso al aplicar (int) de cero.

Lo que es evidente es que en la URL de la barra de direcciones del navegador se debería ver claramente eliminaproceso.php?id=<ID> con el <ID> correcto, eso es fundamental, si eso no es así entonces se está pasando la el ID desde el inicio.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 13/05/2013, 11:49
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por pateketrueke Ver Mensaje
El cero se da por forzar el tipo (int), al parece están trabajando sin el reporte de errores, porque dicha variable puede no existir o estar vacía, por eso al aplicar (int) de cero.

Lo que es evidente es que en la URL de la barra de direcciones del navegador se debería ver claramente eliminaproceso.php?id=<ID> con el <ID> correcto, eso es fundamental, si eso no es así entonces se está pasando la el ID desde el inicio.
mmm si en la url me manda el id en blanco no me aparece nada
  #17 (permalink)  
Antiguo 13/05/2013, 11:49
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por pateketrueke Ver Mensaje
El cero se da por forzar el tipo (int), al parece están trabajando sin el reporte de errores, porque dicha variable puede no existir o estar vacía, por eso al aplicar (int) de cero.

Lo que es evidente es que en la URL de la barra de direcciones del navegador se debería ver claramente eliminaproceso.php?id=<ID> con el <ID> correcto, eso es fundamental, si eso no es así entonces se está pasando la el ID desde el inicio.
+1 . La id nunca puede ser 0 empiezan de 1 , asi que tiene mal la variable.

di nos el resultado de esto

Código PHP:
$con=mysql_connect("localhost","root","","prueba1" );
$sql "delete from comentarios where id_comentario='".(int)$_GET['id_comentario']."'";
$query=mysql_query($sql) or die('ERROR: '.mysql_error() . '; SQL: '.$sql);

echo 
"<pre>";
print_r($_GET);
echo 
"</pre>"
  #18 (permalink)  
Antiguo 13/05/2013, 11:52
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Borrar Fila de una tabla usando un link

Bue. pos el problema lo tienes aqui

Código PHP:
while ($row mysqli_fetch_array($query)){
echo 
"<tr>";
echo 
"<td><a href='eliminaproceso.php?id=".$row['id_comentario']."'>Eliminar</a></td>"
echo 
"<td>".$row['id_comentario']."</td>";
echo 
"<td>".$row['nombre']."</td>";
echo 
"<td>".$row['comentario']."</td>";
echo 
"</tr>";


Cambia esto, a esto:

Código PHP:
while ($row mysqli_fetch_array($query))
{
   echo 
htmlspecialchars("<td><a href='eliminaproceso.php?id=".$row['id_comentario']."'>Eliminar</a></td>") . "<br />";

y di lo que te da
  #19 (permalink)  
Antiguo 13/05/2013, 11:56
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por bulter Ver Mensaje
+1 . La id nunca puede ser 0 empiezan de 1 , asi que tiene mal la variable.

di nos el resultado de esto

Código PHP:
$con=mysql_connect("localhost","root","","prueba1" );
$sql "delete from comentarios where id_comentario='".(int)$_GET['id_comentario']."'";
$query=mysql_query($sql) or die('ERROR: '.mysql_error() . '; SQL: '.$sql);

echo 
"<pre>";
print_r($_GET);
echo 
"</pre>"


me sige dando el mismo mensaje:

ERROR: No database selected; SQL: delete from comentarios where id_comentario='0'
  #20 (permalink)  
Antiguo 13/05/2013, 11:58
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Borrar Fila de una tabla usando un link

Mira el mensaje despues.

Cita:
Iniciado por bulter Ver Mensaje
Bue. pos el problema lo tienes aqui

Código PHP:
while ($row mysqli_fetch_array($query)){
echo 
"<tr>";
echo 
"<td><a href='eliminaproceso.php?id=".$row['id_comentario']."'>Eliminar</a></td>"
echo 
"<td>".$row['id_comentario']."</td>";
echo 
"<td>".$row['nombre']."</td>";
echo 
"<td>".$row['comentario']."</td>";
echo 
"</tr>";


Cambia esto, a esto:

Código PHP:
while ($row mysqli_fetch_array($query))
{
   echo 
htmlspecialchars("<td><a href='eliminaproceso.php?id=".$row['id_comentario']."'>Eliminar</a></td>") . "<br />";

y di lo que te da
  #21 (permalink)  
Antiguo 13/05/2013, 12:03
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por bulter Ver Mensaje
Bue. pos el problema lo tienes aqui

Código PHP:
while ($row mysqli_fetch_array($query)){
echo 
"<tr>";
echo 
"<td><a href='eliminaproceso.php?id=".$row['id_comentario']."'>Eliminar</a></td>"
echo 
"<td>".$row['id_comentario']."</td>";
echo 
"<td>".$row['nombre']."</td>";
echo 
"<td>".$row['comentario']."</td>";
echo 
"</tr>";


Cambia esto, a esto:

Código PHP:
while ($row mysqli_fetch_array($query))
{
   echo 
htmlspecialchars("<td><a href='eliminaproceso.php?id=".$row['id_comentario']."'>Eliminar</a></td>") . "<br />";

y di lo que te da


me imprime <td><a href='eliminaproceso.php?id=1'>Eliminar</a></td>
  #22 (permalink)  
Antiguo 13/05/2013, 12:10
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Borrar Fila de una tabla usando un link

MUAJAJAJA mira que soy ciego ... :D
Aqui

Cita:
<td><a href='eliminaproceso.php?id=1'>Eliminar</a></td>
defines una variable GET llamada "id"

y aqui

Cita:
$sql = "delete from comentarios where id_comentario='".(int)$_GET['id_comentario']."'";
quieres coger una llamada id_comentario :D

aqui lo tienes

Código PHP:
$con=mysql_connect("localhost","root","","prueba1" ); 
$sql "delete from comentarios where id_comentario='".(int)$_GET['id']."'"
$query=mysql_query($sql) or die('ERROR: '.mysql_error() . '; SQL: '.$sql); 
Ahora debe de funcionar.

Saludos.
  #23 (permalink)  
Antiguo 13/05/2013, 12:26
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por bulter Ver Mensaje
MUAJAJAJA mira que soy ciego ... :D
Aqui



defines una variable GET llamada "id"

y aqui



quieres coger una llamada id_comentario :D

aqui lo tienes

Código PHP:
$con=mysql_connect("localhost","root","","prueba1" ); 
$sql "delete from comentarios where id_comentario='".(int)$_GET['id']."'"
$query=mysql_query($sql) or die('ERROR: '.mysql_error() . '; SQL: '.$sql); 
Ahora debe de funcionar.

Saludos.



Si si mira
me sale esto

Array
(
[idcomentario] => pedro
)

si me indica el id seleccionado a eliminar pero no lo elimina
  #24 (permalink)  
Antiguo 13/05/2013, 12:29
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

jajajajaja Bulter Te amooo jajajaja en el buen sentido muchas gracias jajajaja
  #25 (permalink)  
Antiguo 13/05/2013, 12:33
Avatar de bulter  
Fecha de Ingreso: enero-2008
Mensajes: 137
Antigüedad: 16 años, 4 meses
Puntos: 20
Respuesta: Borrar Fila de una tabla usando un link

No problem dude :)
  #26 (permalink)  
Antiguo 13/05/2013, 12:33
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Cita:
Iniciado por dfernandez Ver Mensaje
si si mira
me sale esto

array
(
[idcomentario] => pedro
)

si me indica el id seleccionado a eliminar pero no lo elimina
ya se elimina ya vi el horror que tenia en verdad gracias a todos
  #27 (permalink)  
Antiguo 15/05/2013, 07:52
 
Fecha de Ingreso: septiembre-2012
Ubicación: Argentina
Mensajes: 144
Antigüedad: 11 años, 7 meses
Puntos: 12
Respuesta: Borrar Fila de una tabla usando un link

Por favor pongale solucionado por si a otra persona le pasa lo mismo, sabe buscar una respuesta rapida.

Saludos! me alegro que hayas encontrado el error!
  #28 (permalink)  
Antiguo 16/05/2013, 15:47
 
Fecha de Ingreso: abril-2011
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Borrar Fila de una tabla usando un link

Tema solucionado...

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:51.