Foros del Web » Programando para Internet » PHP »

Borrar registro

Estas en el tema de Borrar registro en el foro de PHP en Foros del Web. Hola Amigos Cuento con varios registros en un archivo de texto mas o menos haci: |~~|20021202155813|~~|Maraton Guadalupano 2002|~~|Acapulco, Mexico|~~| lo que quiero hacer es borrar ...
  #1 (permalink)  
Antiguo 30/10/2005, 16:21
pez
 
Fecha de Ingreso: enero-2002
Mensajes: 354
Antigüedad: 15 años, 11 meses
Puntos: 0
Borrar registro

Hola Amigos

Cuento con varios registros en un archivo de texto mas o menos haci:

|~~|20021202155813|~~|Maraton Guadalupano 2002|~~|Acapulco, Mexico|~~|

lo que quiero hacer es borrar solo uno mediante su id que en este caso seria 20021202155813, pero creo que lo estoy haciendo mal

$data_file = "index.txt";
$record = file($data_file);
$jmlrec = count($record);
$update_data = fopen($data_file,"w");
for ($j=0; $j<$jmlrec; $j++) {
if ($record[$j] <> "") fputs($update_data,$record[$j]);
}
fclose($update_data);

espero que me puedan ayudar.

saludos y gracias
  #2 (permalink)  
Antiguo 30/10/2005, 19:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
No entiendo muy bien la lógica del algoritmo :/
Lo abrís y lo guardás en $record. Después lo abrís para escritura y, mediante un bucle verificas el contenido de cada línea y en caso de no ser '' escribes la misma línea en el archivo? Me perdí.

En ningún lugar estás dividiendo las líneas del archivo para guardar cada 'campo' de tu registro en una variable distinta.

En tu lugar usaría SQLite (incluído en php5, existe una extensión para php4), es mucho más simple que trabajar con archivos directamente.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #3 (permalink)  
Antiguo 05/11/2005, 22:48
pez
 
Fecha de Ingreso: enero-2002
Mensajes: 354
Antigüedad: 15 años, 11 meses
Puntos: 0
Hola thunder.scripts

Gracias por tu respuesta, ando medio perdido, ya cambie el codigo.
<?php
$path="index.txt";
$record = file($path);
$array=file($path);
?>
en $array[0] estoy en el primer registro, ahora lo que quiero es que me elimine esa linea como se podria hacer ¿acaso con un fopen ($path, w) ?

saludos y gracias por tu ayuda.
  #4 (permalink)  
Antiguo 06/11/2005, 10:11
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 12 años, 10 meses
Puntos: 0
Fijate, en este tema puse el código para hacer algo similar: http://www.forosdelweb.com/f18/borrar-linea-fichero-texto-dinamicamente-347490/

Cualquier cosa preguntá de nuevo y te lo explico.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
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 10:08.