elimiar datos de una lista de base de datos

Iniciado por charles babbage, 2 Octubre 2012, 05:48 AM

0 Miembros y 1 Visitante están viendo este tema.

charles babbage

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 (php) [Seleccionar]

<form action="recibir.php" method="post">

<table border="1" bgcolor="#FFFFFF">
<tr>
<td>Materia: </td><td><input type="text" name="mat" /></td>
</tr>
<tr>
<td>Codigo:</td><td> <input type="text" name="cod" /></td>
</tr>
<tr>
<td>Nota: </td><td> <input type="text" name="nota" /></td>
</tr>
<tr>
<td>Año: </td><td><input type="text" name="año" /></td>
</tr>   
</table>
<input type="submit" value="enviar" />
</form>


Código (php) [Seleccionar]

<body bgcolor="#CCCCCC">
<center>
<h1>Recibido</h1>
<?php

$materia
=$_POST['mat'];
$codigo=$_POST['cod'];
$nota=$_POST['nota'];
$año=$_POST['año'];

$conexion=mysql_pconnect("localhost","root","") or  die("problema al conectar el host");
$con=mysql_select_db("materiascbc",$conexion) or die("problemas al conectar con la base de datos");

if(
$con == true) {
echo "conexion OK <br>";
}

if(
$nota>=4){
echo mysql_query("INSERT INTO aprobadas VALUES (NULL,'$materia','$codigo','$nota','$año')");
echo "<h3>Bien aprobaste la materia!</h3>";
}else {
echo mysql_query("INSERT INTO desaprobadas VALUES (NULL,'$materia','$codigo','$nota','$año')");
echo "<h3>La proxima la aprobaras</h3>";
}

echo 
"<table border='1' bgcolor='#ffffff'>";
echo 
"<tr><td>materia</td>";
echo 
"<td>codigo</td>";
echo 
"<td>nota</td>";
echo 
"<td>año</td>";

echo 
"<tr><td>$materia</td>";
echo 
"<td>$codigo</td>";
echo 
"<td>$nota</td>";
echo 
"<td>$año</td>";
echo 
"</table>";
?>

<br />
<br />

Ir a ver la tabla completa <a href="vertabla.php">aquí</a>

</center>
</body>
</html>


Código (php) [Seleccionar]

<h1>Tabla completa</h1>
<?

$conexion=mysql_pconnect("localhost","root","") or die("no se ha podido conectar");
$con=mysql_select_db("materiascbc",$conexion) or die("no se ha podido conectar a la base de datos");

if($con==true){
echo "conexion OK <br>";
}
if($nota>=4){
$consulta=mysql_query("SELECT materia, codigo, nota, año FROM aprobadas");
}else{
$consulta=mysql_query("SELECT materia, codigo, nota, año FROM desaprobadas");
}
echo "<table border='1' bgcolor='#ffffff'>";
echo "<tr><th width=150>materia</th>";
echo "<th width=150>codigo</th>";
echo "<th width=150>nota</th>";
echo "<th width=150>año</th>";
echo "</table>";
while ($row=mysql_fetch_array($consulta)){
echo '<table border=1 bgcolor=\'#ffffff\'>';
echo '<tr>';
echo '<td width=150>'.$row['materia'].'</td>';
echo '<td width=150>'.$row['codigo'].'</td>';
echo '<td width=150>'.$row['nota'].'</td>';
echo '<td width=150>'.$row['año'].'</td>';
echo '</tr>';
echo '</table>';
}
?>



:D

charles babbage

Por si no se entendio la pregunta, lo que necesito es un boton de elimiar registros en el ultimo archivo.
saludos

dimitrix

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".




shellb_c0de

utilizas el ID  despues de listar los elementos de la tabla:

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




Código (php) [Seleccionar]
<?php
include ('conectar.php');
$insert=ingresar_datos();
$edicion=delete($_GET['codigo']);

echo 
'<input type="text" name="codigo" value ="<?php echo $edicion[1] ?>
"/>';
echo '<a href="index.php">Volver al listado </a>';

?>


y conectar:

Código (php) [Seleccionar]
<?php
function borrar($noReg)
{
$consul="select * from aprobados where codigo=$noReg";
$res=mysql_query($consul);
 $fi=mysql_fetch_array($res);
 return $fi;
 
}

function 
ingresar_datos(){
$conectar=mysql_Connect("localhost","root","");
mysql_select_db("materiascbc");
}

function 
delete($nid)
{
   if(isset($nid))
   {
$refres"DELETE from aprobadas where codigo='$nid' ";
     mysql_query($refres);
//echo $refres;
echo "registro Eliminado";
echo '<br>';
echo '<a href="index.php">Actualizar</a>';
 }
}

?>
"Tu vida solo es la suma del resto de una ecuación no balanceada, connatural a la programación de Matrix. Eres el producto eventual de una anomalía, que no se ha logrado suprimir de esta armonía de precisión matemática. Aunque sigues siendo una incomodidad que evito con frecuencia, es previsible y no escapa a unas medidas de control que te han conducido inexorablemente aquí.

arodriguez

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