Foros del Web » Programando para Internet » PHP »

elegir linea dato de txt

Estas en el tema de elegir linea dato de txt en el foro de PHP en Foros del Web. Hola como estan: Tengo una base de datos planos (.txt), el cual tiene un formato como el siguiente: fecha|titulo|contenido|n_usuario ej: 27.04.2004|nose|mas nose|1 y tengo un ...
  #1 (permalink)  
Antiguo 27/04/2004, 13:22
 
Fecha de Ingreso: noviembre-2002
Mensajes: 97
Antigüedad: 15 años
Puntos: 0
elegir linea dato de txt

Hola como estan:

Tengo una base de datos planos (.txt), el cual tiene un formato como el siguiente:

fecha|titulo|contenido|n_usuario

ej:27.04.2004|nose|mas nose|1

y tengo un menu para borrar los noticias que ellos mismos ponen, el problema es que muestra todas las noticias y ellos pueden borrar noticias de otros usuarios y lo que quiero es que solo muestre noticias para borrar que ellos mismos hallan colocado, es decir, solo con el n_usuario

Osea con una variable predeterminada ej:

Código PHP:
$n 
y que muestre todas las noticias en que

Código PHP:
if($n_usuario == $n)  //por ejemplo 
  #2 (permalink)  
Antiguo 27/04/2004, 13:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Con la función

fgetcvs()
www.php.net/fgetcvs

Podrías obtener fácilmente tu dato de cada registro (tu campo) y así poder comparalo para mostarlo o no según corresponda ..

Sería algo así:

ver_usuario.php?u=nº
Código PHP:
<?php 
$handle 
fopen ("nose.txt","r"); 
while (
$data fgetcsv ($handle1000"|")) { 
   
$usuario=$data[3]; // nº de campo que está tu dato ..
    
if ($usuario == $_GET['u']){   
        echo  
$data[0]." -> ".$data[1]." -> ".$data[2]. "<br>"
    }    

fclose ($handle); 
?>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 28/04/2004, 14:22
 
Fecha de Ingreso: noviembre-2002
Mensajes: 97
Antigüedad: 15 años
Puntos: 0
Muchas gracias cluster,, me has salvado en hartas ocaciones, pero tengo otra duda :

Como puedo (ademas de hacer lo anterior) saber en que número de linea esta la información?


gracias por todo...
  #4 (permalink)  
Antiguo 28/04/2004, 14:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pon una variable contador en el While(){}

Ejemplo:

Código PHP:
$x=0// inicias el contador (varible con valor ..)
While (){
// procesos ...

echo $x;
$x++; // la incremetas .. esto es = al clásico $x = $x +1;

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 28/04/2004, 15:54
 
Fecha de Ingreso: noviembre-2002
Mensajes: 97
Antigüedad: 15 años
Puntos: 0
Parece que no me explique bien cluster, como al principio se filtran las noticias para que solo pueda borrar noticias que cierto usuario a creado, las noticias que apareceran no necesariamente tendran el numero de fila ($x++) y mi inquetud es como le puedo obtener el VERDADERO numero de fila en que esta la noticia en el archivo total...junto con filtrarlo...


gracias cluster por tú esfuerzo...
  #6 (permalink)  
Antiguo 28/04/2004, 16:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lo ideal en ese caso es que guardes un campo extra de tus datos que sea el "identificador" (numérico y único . .tal cual una base de datos común) y sea ese registro (por ese campo) el que busques para operar con el: borrar/editar .. etc.

1|27.04.2004|nose|mas nose|1
2|27.04.2004|nose|mas nose|1
N|27.04.2004|nose|mas nose|1

Al generar un nuevo registro (linea) tendrías que leer el último registro (linea) para tomar ese nº (primer campo) e incrementarlo. Por lo menos así de esta manera .. si borras registros (líneas) no tendras problemas si por ejemplo alguien accede a un registro de tu archivo por un link tipo:

nose.php?id=3 .. cuando ese nº de línea fisicamente ya no corresponderá (si es borrado) a ese registro (dato) concreto.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 28/04/2004, 16:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
mmm .. de todas formas .. ahora que lo veo ...

El contador que te indico realmente cuenta las líneas del archivo pues se lee secuencialmente -TODO- el archivo y tan sólo es ese "IF" el que decide si hacer el "echo" de ese registro para mostrarlo o no ... pero igual ser recorre de principio a fin. Podrías usar ese $x sin problemas (salvo los que te mencioné en el anterior mensaje)

El caso que el contador lo incrementas dentro del bucle while() pero -fuera- del IF() ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 15:33.