Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Borrar datos de una tabla

Estas en el tema de Borrar datos de una tabla en el foro de PHP en Foros del Web. Buena, quiero borrar datos de una tabla, borrando por la clave primaria. El problema es que si es numerico borra, pero si es alfanumerico no. ...
  #1 (permalink)  
Antiguo 20/11/2013, 07:14
 
Fecha de Ingreso: octubre-2013
Ubicación: Asturias
Mensajes: 52
Antigüedad: 10 años, 6 meses
Puntos: 1
Borrar datos de una tabla

Buena, quiero borrar datos de una tabla, borrando por la clave primaria. El problema es que si es numerico borra, pero si es alfanumerico no. Necesito saber como debo de cambiarlo.


Código PHP:
Ver original
  1. echo "<html>
  2.         <h1>Eliminar un material</h1>
  3.         <body>
  4.         <form name='borrarMateriales' method='post' action='borrarMateriales.php'>
  5.             <table border='1'>
  6.                 <tr><td>Referencia</td><td>Marca</td><td>Modelo</td><td>Tipo</td><td>Precio</td><td>Existencias</td><td>Original</td><td>Eliminar</td></tr>";
  7. $i = 0 ;
  8. while ($row = mysql_fetch_row($resultado)){
  9.             echo "<tr><td><input type='hidden' name='referencia_material[$i]' value='".$row[0]."' />".$row[0]."</td>
  10.                       <td><input type='hidden' name='marca[$i]' value='".$row[1]."' />".$row[1]."</td>
  11.                       <td><input type='hidden' name='modelo[$i]'value='".$row[2]."'/>".$row[2]."</td>
  12.                       <td><input type='hidden' name='tipo[$i]' value='".$row[3]."'/>".$row[3]."</td>
  13.                       <td><input type='hidden' name='precio[$i]' value='".$row[4]."'/>".$row[4]."</td>
  14.                       <td><input type='hidden' name='existencias[$i]'value='".$row[5]."'/>".$row[5]."</td>
  15.                       <td><input type='hidden' name='original[$i]'value='".$row[6]."'/>".$row[6]."</td>
  16.                       <td><input type='radio' name='eliminar_material[$i]' value='elimina".$row[0]."'></td>
  17.                       </tr>";$i++;
  18. }


El problema creo que esta en $i++;
Saludos y Gracias
  #2 (permalink)  
Antiguo 20/11/2013, 08:28
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Borrar datos de una tabla

¿Dónde eliminas los datos? El código completo por favor.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 21/11/2013, 00:40
 
Fecha de Ingreso: octubre-2013
Ubicación: Asturias
Mensajes: 52
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Borrar datos de una tabla

Buenos días, aqui va todo:

borrarMaterialesTabla.php
Código PHP:
Ver original
  1. <?php
  2.  
  3. require 'funciones.php';
  4.  
  5. //Conectar la base de datos
  6. $conectar = mysql_connect("localhost","rasty","rasty");
  7.  if (! $conectar){die ("ERROR EN LA CONEXION CON MYSQL: ".mysql_error());}
  8.  
  9. $base = mysql_select_db ("consumibles",$conectar);
  10.  if(! $base){die ("ERROR AL CONECTAR CON LA BASE DE DATOS: ".mysql_error());}
  11.  
  12.  
  13. $sql = "SELECT * FROM materiales";
  14.  
  15. $resultado = mysql_query($sql);
  16.  
  17. echo "<html>
  18.         <h1>Eliminar un material</h1>
  19.         <body>
  20.         <form name='borrarMateriales' method='post' action='borrarMateriales.php'>
  21.             <table border='1'>
  22.                 <tr><td>Referencia</td><td>Marca</td><td>Modelo</td><td>Tipo</td><td>Precio</td><td>Existencias</td><td>Original</td><td>Eliminar</td></tr>";
  23. $i = 0 ;
  24. while ($row = mysql_fetch_row($resultado)){
  25.             echo "<tr><td><input type='hidden' name='referencia_material[$i]' value='".$row[0]."' />".$row[0]."</td>
  26.                       <td><input type='hidden' name='marca[$i]' value='".$row[1]."' />".$row[1]."</td>
  27.                       <td><input type='hidden' name='modelo[$i]'value='".$row[2]."'/>".$row[2]."</td>
  28.                       <td><input type='hidden' name='tipo[$i]' value='".$row[3]."'/>".$row[3]."</td>
  29.                       <td><input type='hidden' name='precio[$i]' value='".$row[4]."'/>".$row[4]."</td>
  30.                       <td><input type='hidden' name='existencias[$i]'value='".$row[5]."'/>".$row[5]."</td>
  31.                       <td><input type='hidden' name='original[$i]'value='".$row[6]."'/>".$row[6]."</td>
  32.                       <td><input type='radio' name='eliminar_material[$i]' value='elimina".$row[0]."'></td>
  33.                   </tr>";$i++;
  34. }
  35. echo "</table><input type='submit' value='Borrar'>";
  36. echo"</form><a href='menu.php'>Menu</a></body></html>";
  37. ?>

borrarMateriales.php
Código Java:
Ver original
  1. <?php
  2.  
  3. session_start();
  4. include 'funciones.php';
  5.  
  6.  
  7. //Conectar la base de datos
  8. $conectar = mysql_connect("localhost","rasty","rasty");
  9. if (! $conectar){die ("ERROR EN LA CONEXION CON MYSQL: ".mysql_error());}
  10.  
  11. $base = mysql_select_db ("consumibles",$conectar);
  12. if(! $base){die ("ERROR AL CONECTAR CON LA BASE DE DATOS: ".mysql_error());}
  13.  
  14.  
  15. //Foreach para recorrer el array
  16. foreach ($_POST['eliminar_material'] as $indice => $valor){
  17.  
  18.     $opcion = substr ($_POST['eliminar_material'][$indice],0,-1);
  19.     $sql="DELETE FROM materiales WHERE referencia_material=".$_POST['referencia_material'][$indice];
  20.    
  21.     echo"Material borrado correctamente";
  22.     $resultado = mysql_query($sql);
  23.    
  24.     if (! $resultado ){
  25.         die ("Error al borrar el material");
  26.     }else
  27.         echo"<br><a href='borrarMaterialesTabla.php'>Borrar Materiales</a>";
  28. }
  29. ?>
  #4 (permalink)  
Antiguo 21/11/2013, 11:25
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Borrar datos de una tabla

Si es "alfanumérico" tienes que encerrar el valor entre comillas sencillas

Código MySQL:
Ver original
  1. where campo = 'valor'
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #5 (permalink)  
Antiguo 21/11/2013, 11:28
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Borrar datos de una tabla

Tal cual como te dicen arriba..
Código PHP:
Ver original
  1. $sql="DELETE FROM materiales WHERE referencia_material='{$_POST['referencia_material'][$indice]}'";
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 22/11/2013, 01:17
 
Fecha de Ingreso: octubre-2013
Ubicación: Asturias
Mensajes: 52
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Borrar datos de una tabla

Muchas gracias a los dos por sus respuestas, me ha ayudado. Y les voy a dar un voto a cada uno.

Saludos

Etiquetas: html, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 02:19.