Foros del Web » Programando para Internet » PHP »

Problemas al borrar una fila php

Estas en el tema de Problemas al borrar una fila php en el foro de PHP en Foros del Web. Hola a todos, a ver si me podeis echar una mano. En la linea que se marca en rojo tengo que indicar cual será id ...
  #1 (permalink)  
Antiguo 06/09/2012, 12:49
 
Fecha de Ingreso: septiembre-2012
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Problemas al borrar una fila php

Hola a todos, a ver si me podeis echar una mano. En la linea que se marca en rojo tengo que indicar cual será id que por medio de $GET[] voy a eliminar. La cosa es que si en pongo "<a href=\"eliminar.php?id=Email elimino todas las filas de la tabla sin problemas , pero si pongo como indico abajo \"eliminar.php?id=$row[Email], apunta al Eliminar de una fila especifica pero no me lo borra y lo he probado todo.

¿Alguno sabe como tendria que definir id para que pulsando eliminar de la fila indicada solo me borrase esa fila?

Muchisimas gracias por vuestra ayuda.

listar2.php

<table border="1" cellspacing=1 cellpadding=2 style="font-size: 8pt"><tr>
<td><font face="verdana"><b>Código</b></font></td>
<td><font face="verdana"><b>Cliente</b></font></td>
<td><font face="verdana"><b>Email</b></font></td>
<td><font face="verdana"><b>Editar</b></font></td>
</tr>

<?php

include("config.php");


$query = "SELECT * FROM clientes";
$result = mysql_query($query);
// $numero = 0;
while($row = mysql_fetch_array($result))
{
echo "<tr><td width=\"25%\"><font face=\"verdana\">" .
$row["Nombre"] . "</font></td>";
echo "<td width=\"25%\"><font face=\"verdana\">" .
$row["Apellidos"] . "</font></td>";
echo "<td width=\"25%\"><font face=\"verdana\">" .
$row["Email"] . "</font></td>";
echo "<td width=\"25%\"><font face=\"verdana\">" .
"<a href=\"eliminar.php?Id=$row[Email]\">Eliminar</a>". "</font></td>";




}
mysql_free_result($result);
mysql_close($link);
?>
</table>


eliminar.php

<?php

include("config.php");

$id=$_GET["Email"];


mysql_query("DELETE * FROM clientes where Email= $id");


header("Location: listar2.php");
?>
  #2 (permalink)  
Antiguo 06/09/2012, 13:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problemas al borrar una fila php

Pues así como lo haces debería funcionar, pero...

1. El nombre de tu variable en el enlace es Id (nota la mayúscula inicial)
2. El nombre que usas al recuperar la variable de $_GET es Email
3. Ambos nombres deben coincidir
4. Lee el manual

http://www.php.net/variables.external
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 06/09/2012, 13:23
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 9 meses
Puntos: 53
Respuesta: Problemas al borrar una fila php

Cita:
"<a href=\"eliminar.php?Id=$row[Email]\">Eliminar</a>". "</font></td>";
faltan comillas prueba:

Código PHP:
Ver original
  1. <a href=\"eliminar.php?Id=".$row['Email']."\">Eliminar</a></font></td>
  2. ó
  3. <a href=\"eliminar.php?Id='".$row['Email']."'\">Eliminar</a></font></td>
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #4 (permalink)  
Antiguo 06/09/2012, 13:41
 
Fecha de Ingreso: septiembre-2012
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problemas al borrar una fila php

Muchas gracias por vuestros comentarios. Pero nada he revisado las mayusculas y nombres que concuerden.

Y sobre el tema de las comillas si no abro el <a href= con " me dice esto :

Parse error: syntax error, unexpected '<' in C:\xampp\htdocs\PHP+BD\listar2.php on line 27

y he probado todas las modificaciones posibles... no me lo explico.

Muchas gracias de nuevo.
  #5 (permalink)  
Antiguo 06/09/2012, 15:19
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 9 meses
Puntos: 53
Respuesta: Problemas al borrar una fila php

me referia a estas comillas, y la concatencion lo demas era lo mismo
echo "<td width=\"25%\"><font face=\"verdana\">" .
"<a href=\"eliminar.php?Id=".$row['Email']."\">Eliminar</a>". "</font></td>";
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”
  #6 (permalink)  
Antiguo 06/09/2012, 15:46
 
Fecha de Ingreso: septiembre-2012
Mensajes: 3
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problemas al borrar una fila php

Gracias Pirruman, pero por ahora sigue sin querer borrar. Incluso cambie la llamada a los registros de la fila por si acaso:

while($row = mysql_fetch_array($result))
{
echo "<tr><td width=\"25%\"><font face=\"verdana\">" . "$row[0]" . "</font></td>";
echo "<td width=\"25%\"><font face=\"verdana\">" . "$row[1]" . "</font></td>";
echo "<td width=\"25%\"><font face=\"verdana\">" . "$row[2]". "</font></td>";
echo "<td width=\"25%\"><font face=\"verdana\">" .
"<a href=\"eliminar.php?id=".$row['2']."\">Eliminar</a>". "</font></td>";

eliminar.php

include("config.php");
//include ("listar2.php");
$id=$_GET["id"];


mysql_query("DELETE FROM clientes where Email= $id");


//mysql_close($link);
header("Location: listar2.php");

Y como antes si sustituyo por \"eliminar.php?id=Email\", se me borra toda la tabla porque evidentemente seleccion la columa Email de todos los usuarios de mi tabla, pero uno por uno no encuentro forma ni modo.

Un saludo y gracias por tu ayuda.
  #7 (permalink)  
Antiguo 06/09/2012, 15:53
Avatar de PIRRUMAN  
Fecha de Ingreso: febrero-2006
Ubicación: Monterrey, Nuevo León
Mensajes: 633
Antigüedad: 18 años, 9 meses
Puntos: 53
Respuesta: Problemas al borrar una fila php

si tienes
$id=$_GET["Email"];

la variable que mandas es Email no id comolo tienes aqui

"eliminar.php?id=".$row['2']."\">
"eliminar.php?Email=".$row['2']."\">

cuando utilizas la posicion en los arregos no usas comillas
$row['2']
$row[2]

para evitarte problemas de concatenacion y comillas te recomiendo que abras y cierres php

Cita:
echo "<td width=\"25%\"><font face=\"verdana\">" .
"<a href=\"eliminar.php?id=".$row['2']."\">Eliminar</a>". "</font></td>";
a esto
//verifica que trar $row[2]

print "mi valor: ".$row[2]."<br>";
?><td width="25%"><font face="verdana">
<a href="eliminar.php?Eliminar=<?php echo $row[2];?>">Eliminar</a></font></td><?php
__________________
“Prefiero ser un tonto momentaneo que un eterno ignorante”
“¡El éxito es resultado de los aciertos,los aciertos resultado de la experiencia y la experiencia resultado de los errores!”

Etiquetas: fila, mysql, tabla
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 22:41.