Ir al contenido


Foto

Error al eliminar registros de una base de datos desde un while


  • Por favor identifícate para responder
3 respuestas en este tema

#1 RubenJ

RubenJ

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 28 julio 2011 - 09:48


Lo que quiero es que se eliminen los datos pero no sé como hacerlo, una prueba de lo que hago:
Suponiendo que tenemos una tabla con varios datos, me conecté a la base de datos y todo ok hasta acá, el lío es que no sé donde incluir el if si dentro del while o afuera, si lo pongo fuera no creo que obtenga la variable del $forma['id']; , pero si lo pongo dentro si va a obtener, pero me elimina todos los valores de la tabla, haber si me dan una mano que estaba haciendo un libro de contactos y me topé con eso.

$sql1="select * from tabla";
$selecciona=mysql_query($sql1);
while($forma=mysql_fetch_array($sql1)){
        echo "registro1" . $forma['reg1'];
        echo "<br>";
        echo "<input type='submit' name='borra'  value='Eliminar' />";
}

if(isset($_POST["borra"])  &&  $_POST["borra"]=="Eliminar"){
          $sql2="delete from tabla where id='".$forma['id']."'";
          $query=mysql_query($sql2);
}

  • 0

#2 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 28 julio 2011 - 09:55

Hola Rubén mira si quieres enviar el formulario vía post recuerda usar la etiqueta form:

$sql1="select * from tabla";
$selecciona=mysql_query($sql1);
while(
$forma=mysql_fetch_array($sql1)){
      echo "<form method='post' action =''>";
      echo
"registro1" . $forma['reg1'];
        echo
"<br>";
        echo
"<input type='submit' name='borra'  value='Eliminar' /></form>";
}

if(isset(
$_POST["borra"])  &&  $_POST["borra"]=="Eliminar"){
         
$sql2="delete from tabla where id='".$forma['id']."'";
         
$query=mysql_query($sql2);
}



así te debería funcionar...saludos

  • 0

#3 RubenJ

RubenJ

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 28 julio 2011 - 09:59

Me olvidé decir que también obvie eso  del form, también lo tengo en mi script original, pero me elimina todos los datos(el form lo tengo fuera del while, afecta eso?).
  • 0

#4 cesar_cz

cesar_cz

    Advanced Member

  • Moderadores
  • PipPipPip
  • 919 mensajes
  • LocationChile

Escrito 28 julio 2011 - 10:04

Vamos por parte Rubén, efectivamente debes usar el form antes de while, lo puse dentro porque hablando en el chat contigo te entendí otra cosa...
Creo que lo que quieres es ir borrando los registros que se muestran dentro del while, para eso te recomendo crear check box dinámicos, e irles dando names por ejemplo usando un contador name_$i de esta manera podrás darle la opción al usuario de que seleccione eliminar solo los que haya elegido..
Bendiciones...

  • 0




IP.Board spam blocked by CleanTalk.