Foros del Web » Programando para Internet » PHP »

borrar el ultimo registro

Estas en el tema de borrar el ultimo registro en el foro de PHP en Foros del Web. Hola tengo un tema informativo donde muestro una serie de datos que se van incrementando segun va insertando la gente. muestro siempre los 5 ultimos ...
  #1 (permalink)  
Antiguo 09/02/2012, 07:46
Avatar de alfoner  
Fecha de Ingreso: abril-2009
Mensajes: 146
Antigüedad: 15 años, 7 meses
Puntos: 0
Exclamación borrar el ultimo registro

Hola tengo un tema informativo donde muestro una serie de datos que se van incrementando segun va insertando la gente.

muestro siempre los 5 ultimos registros de el tema de informacion



$registros= 5;
$inicio=0;
$busqueda=mysql_query("SELECT * FROM informacion ORDER BY id DESC LIMIT $inicio,$registros;");


while($info=@mysql_fetch_array($busqueda)){}


El problema es que los registros se van incrementando y van generando muchos datos que no sirven en la base de datos ya que solo interesan los cinco ultimos

¿Como podria hacer que siempre se eliminace el dato que hace 6 de la base de datos dejando los 5 ultimos.?
  #2 (permalink)  
Antiguo 09/02/2012, 08:06
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 13 años, 5 meses
Puntos: 56
Respuesta: borrar el ultimo registro

Pues haces un if que guarde los datos y si se han guardado correctamente haces una consulta que elimine el id mas antiguo.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #3 (permalink)  
Antiguo 09/02/2012, 12:50
 
Fecha de Ingreso: noviembre-2010
Ubicación: cancun
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
Respuesta: borrar el ultimo registro

realiaza una consulta de los ultimos cinco registros lo almacenas en un arreglo ; de ahi vasea la tabla
$conexion = mysql_connect("servidor" , "usuario" , "password");
mysql_select_db("bd",$conexion);
$consulta=mysql_query(select * from tabla order by id desc limit );
$arr=mysql_fetch_array($consulta);
$a=mysql_num_rows($consulta)-1;
$nuevo=array();
mysql_select_db("bd",$conexion);
mysql_query("delete from table");
for($i=0;$i<5;$i++)
{
mysql_select_db("bd",$conexion);
mysql_query("insert into tabla (id, campo1, campo2) values (\"".$i."\",\"".$arr[$a]["campo1]."\",\"".$arr[$a]["campo1]."\")")
if($a>0){$a--}

}

espero te sirva este pedaso de codigo
  #4 (permalink)  
Antiguo 09/02/2012, 12:57
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 13 años, 4 meses
Puntos: 793
Respuesta: borrar el ultimo registro

Consulta los id de los últimos campos que te interesan y borra todos los demás:

Código PHP:
Ver original
  1. <?php
  2. $c = mysql_connect('localhost', 'root', '12345');
  3. mysql_select_db('basededatos');
  4. $sql = 'select * from informacion order by id desc limit 0, 5';
  5. $res = mysql_query($sql) or die('Error: ' . mysql_error());
  6.  
  7. $ids = array();
  8.  
  9. while ($reg = mysql_fetch_array($res)) {
  10.     echo $reg['id'] . '<br />'; //Aquí muestras la información
  11.     $ids[] = $reg['id'];
  12. }
  13.  
  14. //borras los que no estén entre esos 5 que muestras
  15.  
  16. mysql_query('delete from dinero where id not in ('.implode(', ', $ids).')') or die(mysql_error());
__________________
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 09/02/2012, 18:33
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 15 años, 4 meses
Puntos: 27
Respuesta: borrar el ultimo registro

Es una tema de sql,
Código:
DELETE FROM productos ORDER BY id_prod DESC LIMIT 5,10000
Esto borra 10000 o menos registros, solo deja los ultimos 5 registros.

Etiquetas: registro, sql, ultimo
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




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