Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: charles babbage en 2 Octubre 2012, 05:48 am



Título: elimiar datos de una lista de base de datos
Publicado por: charles babbage en 2 Octubre 2012, 05:48 am
tengo un tres archivos, el primero envia datos, el segundo los recibe y el tercero los muestra en pantalla a todos los valores de la tabla de la base de datos. Lo que yo necesito es saber como poner en el tercer archivo un boton de elimiar registros de valores.
Código
  1. <form action="recibir.php" method="post">
  2.  
  3. <table border="1" bgcolor="#FFFFFF">
  4. <tr>
  5. <td>Materia: </td><td><input type="text" name="mat" /></td>
  6. </tr>
  7. <tr>
  8. <td>Codigo:</td><td> <input type="text" name="cod" /></td>
  9. </tr>
  10. <tr>
  11. <td>Nota: </td><td> <input type="text" name="nota" /></td>
  12. </tr>
  13. <tr>
  14. <td>Año: </td><td><input type="text" name="año" /></td>
  15. </tr>    
  16. </table>
  17. <input type="submit" value="enviar" />
  18. </form>
  19.  

Código
  1. <body bgcolor="#CCCCCC">
  2. <center>
  3. <h1>Recibido</h1>
  4. <?php
  5.  
  6. $materia=$_POST['mat'];
  7. $codigo=$_POST['cod'];
  8. $nota=$_POST['nota'];
  9. $año=$_POST['año'];
  10.  
  11. $conexion=mysql_pconnect("localhost","root","") or  die("problema al conectar el host");
  12. $con=mysql_select_db("materiascbc",$conexion) or die("problemas al conectar con la base de datos");
  13.  
  14. if($con == true) {
  15. echo "conexion OK <br>";
  16. }
  17.  
  18. if($nota>=4){
  19. echo mysql_query("INSERT INTO aprobadas VALUES (NULL,'$materia','$codigo','$nota','$año')");
  20. echo "<h3>Bien aprobaste la materia!</h3>";
  21. }else {
  22. echo mysql_query("INSERT INTO desaprobadas VALUES (NULL,'$materia','$codigo','$nota','$año')");
  23. echo "<h3>La proxima la aprobaras</h3>";
  24. }
  25.  
  26. echo "<table border='1' bgcolor='#ffffff'>";
  27. echo "<tr><td>materia</td>";
  28. echo "<td>codigo</td>";
  29. echo "<td>nota</td>";
  30. echo "<td>año</td>";
  31.  
  32. echo "<tr><td>$materia</td>";
  33. echo "<td>$codigo</td>";
  34. echo "<td>$nota</td>";
  35. echo "<td>$año</td>";
  36. echo "</table>";
  37. ?>
  38. <br />
  39. <br />
  40.  
  41. Ir a ver la tabla completa <a href="vertabla.php">aquí</a>
  42.  
  43. </center>
  44. </body>
  45. </html>
  46.  

Código
  1. <h1>Tabla completa</h1>
  2. <?
  3.  
  4. $conexion=mysql_pconnect("localhost","root","") or die("no se ha podido conectar");
  5. $con=mysql_select_db("materiascbc",$conexion) or die("no se ha podido conectar a la base de datos");
  6.  
  7. if($con==true){
  8. echo "conexion OK <br>";
  9. }
  10. if($nota>=4){
  11. $consulta=mysql_query("SELECT materia, codigo, nota, año FROM aprobadas");
  12. }else{
  13. $consulta=mysql_query("SELECT materia, codigo, nota, año FROM desaprobadas");
  14. }
  15. echo "<table border='1' bgcolor='#ffffff'>";
  16. echo "<tr><th width=150>materia</th>";
  17. echo "<th width=150>codigo</th>";
  18. echo "<th width=150>nota</th>";
  19. echo "<th width=150>año</th>";
  20. echo "</table>";
  21. while ($row=mysql_fetch_array($consulta)){
  22. echo '<table border=1 bgcolor=\'#ffffff\'>';
  23. echo '<tr>';
  24. echo '<td width=150>'.$row['materia'].'</td>';
  25. echo '<td width=150>'.$row['codigo'].'</td>';
  26. echo '<td width=150>'.$row['nota'].'</td>';
  27. echo '<td width=150>'.$row['año'].'</td>';
  28. echo '</tr>';
  29. echo '</table>';
  30. }
  31. ?>
  32.  
  33.  

 :D


Título: Re: elimiar datos de una lista de base de datos
Publicado por: charles babbage en 2 Octubre 2012, 13:00 pm
Por si no se entendio la pregunta, lo que necesito es un boton de elimiar registros en el ultimo archivo.
saludos


Título: Re: elimiar datos de una lista de base de datos
Publicado por: dimitrix en 2 Octubre 2012, 20:37 pm
Macho, te podemos ayudar pero es ultra mega básico de HTML, si tienes problemas en eso, seguro que al usar el DELETE borras toda la base de datos por no ponerle una clausula bionica de fluzo WHERE.

Explica bajo que motivo quieres eliminarlos, por ejemplo, "eliminar los que no son de este año" o los que el curso son: "tal".


Título: Re: elimiar datos de una lista de base de datos
Publicado por: shellb_c0de en 3 Octubre 2012, 00:27 am
utilizas el ID  despues de listar los elementos de la tabla:

Código
  1. <?php
  2. echo '<a href="borrar.php?codigo='.$row[1].'" title='.$row[1].'><input type=button name="eliminar" onclick="pregunta()" value="eliminar"/></a>';
  3. ?>
  4.  


Código
  1. <?php
  2. include ('conectar.php');
  3. $insert=ingresar_datos();
  4. $edicion=delete($_GET['codigo']);
  5.  
  6. echo '<input type="text" name="codigo" value ="<?php echo $edicion[1] ?> "/>';
  7. echo '<a href="index.php">Volver al listado </a>';
  8.  
  9. ?>

y conectar:

Código
  1. <?php
  2. function borrar($noReg)
  3. {
  4. $consul="select * from aprobados where codigo=$noReg";
  5. $res=mysql_query($consul);
  6. $fi=mysql_fetch_array($res);
  7. return $fi;
  8.  
  9. }
  10.  
  11. function ingresar_datos(){
  12. $conectar=mysql_Connect("localhost","root","");
  13. mysql_select_db("materiascbc");
  14. }
  15.  
  16. function delete($nid)
  17. {
  18.   if(isset($nid))
  19.   {
  20. $refres= "DELETE from aprobadas where codigo='$nid' ";
  21.     mysql_query($refres);
  22. //echo $refres;
  23. echo "registro Eliminado";
  24. echo '<br>';
  25. echo '<a href="index.php">Actualizar</a>';
  26. }
  27. }
  28.  
  29. ?>


Título: Re: elimiar datos de una lista de base de datos
Publicado por: arodriguez en 4 Octubre 2012, 19:51 pm
es correcto lo que dicen es necesario poner una condicion la cual tomara el borrado, el mas sencillo es el "DELETE FROM "nombre de la tabla donde esta el registro" WHERE "identificador" = "aqui puedes poner alguna variable que obtengas para darle el numero del id"

seria algo asi:
$conexion (la conexion a tu base de datos);
$id
$consulta = ("delete from tabla where idregistro=$id");

$mysql_query = ($cosnulta, $conexion) or die mysql_error();


Espero te sirva