Ver Mensaje Individual
  #6 (permalink)  
Antiguo 03/08/2006, 22:28
elrmagician
 
Fecha de Ingreso: julio-2006
Mensajes: 8
Antigüedad: 17 años, 8 meses
Puntos: 0
Hola Chudux, he vsito tu codigo y creo que el error fundamental se encuentra en donde estas dando el valor a la variable $ide, ya que le estas diciendo que sera el fetch_array de la consulta que ejecutaste, recuerda que al decirle fetch_array estas jalando los campos en forma de arreglo, o algo asi, bueno realmente veo que no le estas definiendo nada a esa variable ya que te esta devolviendo todos los registros que se encuentran en la columna id de tu tabla, asi que eso es totalmente ambiguo, por que mejor no intentas pasarle el parametro por GET que identifique el id que quieres borrar y lo sustituyes, alli te va un ejemplo: (pero primero en donde esta el problema en tu codigo)

if ($_GET['accion']=="borrar"){
$usuarios_consulta = mysql_query("SELECT id FROM $sql_tabla") or die(mysql_error());
$ide= mysql_fetch_array($usuarios_consulta); // Aqui esta una parte del error que le estas dicendo? pues jala el resultado de la consulta, y como consultaste la columna id de tu tabla X, te esta jalando todos los registros que estan en dicha columna
$total_registros = mysql_num_rows ($usuarios_consulta);
mysql_free_result($usuarios_consulta);

if ($total_registros == 0){
header ("Location: $pag?error=0");
exit;
}

$id_borrar=$ide[id];//Aqui esta la otra parte, que le estas diciendo, a la variable $id_borrar le estas asignando un valor ambiguo ya que el resultado del fetch_array solo te esta diciendo array, por lo tanto en la consulta que borra no borra lo que tu quieres
mysql_query("DELETE FROM $sql_tabla WHERE $id_borrar=$id") or die(mysql_error());
mysql_close();

header ("Location: $pag");
exit;
}

Este es un pequeño ejemplo, quizas muy simple pero te puede servir:
<?

if(isset($_GET[id]))
$id_borrar=$_GET[id];//obviamente el id lo vas a obtener de un formulario donde selecciones el registro o algo asi.

echo $id_borrar;//corroboramos que es el id llave que querias pasar, esto es redundante , pero es mejor ir por las piedritas

$consulta=mysql_query("select * from tablax where id like '$id_borrar'",$conexion);// ya sabes que conexion es la variable que te ayuda a conectarte con la base
while($res=mysql_fetch_row($consulta))
{
aqui puedes pintar una tabla en donde te muestre los datos que se van a borrar
}

$consulta_borra=("DELETE from tablax where id like '$id_borrar'",$conexion);

if($consulta_borra)//esto solo con el fin de comprobar si si se borraron,
{
echo "Datos borrados exitosamente";
}
else
{
echo "Ocurrio un error intentelo de nuevo";
}
?>


Verifica este codigo, la verdad lo escribi aqui mismo asi que no lo corri y puede tener errores pero es para que te des una idea, espero que te ayude.

Última edición por elrmagician; 03/08/2006 a las 22:36