Foros del Web » Programando para Internet » PHP »

Orden Elementos en una Db de Texto

Estas en el tema de Orden Elementos en una Db de Texto en el foro de PHP en Foros del Web. uso esto para meter unos datos simples en una db de texto Código PHP: $fp = fopen ( "datos.txt" , "a" ); fputs ( $fp ...
  #1 (permalink)  
Antiguo 21/02/2007, 14:44
(Desactivado)
 
Fecha de Ingreso: febrero-2007
Mensajes: 225
Antigüedad: 17 años, 2 meses
Puntos: 5
Exclamación Orden Elementos en una Db de Texto

uso esto para meter unos datos simples en una db de texto

Código PHP:

$fp
=fopen("datos.txt","a");
fputs($fp,$dato1."\n");
fclose($fp); 
Mi pregunta es como puedo hacer para que una vez insertados pues 5 datos , cambiar el orden de aparicion, se que se deberia de cambiar el apuntador puesto que cada dato tendria un numero que seria 0,1,2,3,4 y como podria hacer para cambiar el dato posicionado en 0 para el uno etc , agradeceria un script o algo saludos
  #2 (permalink)  
Antiguo 21/02/2007, 15:55
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Re: Orden Elementos en una Db de Texto

Pues supongo que los datos los guardas más o menos así:
Código PHP:
<?php
$dato1 
"dat1|dat2|dat3|dat4|dat5";
$fp fopen 'datos.txt''a' );
fputs$fp$dato1."\n" );
fclose$fp );
?>
Como podrás observar cada dato se distingue por un separador; en mi caso puse "/" pero podrías usar cualquiera aunque las comas (,) y punto y como (;) no te las recomiendo ya que los datos podrían contener estos caracteres y nos haran la vida de cuadritos es por eso que te recomiendo que utilices caracteres no tan comunes.
Ahora lo único que tienes que hacer es leer el archivo y separar en partes cada fila (separar los datos) y enseguida mostrarlos como se te antoje de esta manera:
Código PHP:
<? 
$ruta 
'datos.txt'// ruta hacia el archivo
// leemos el archivo, yo lo hice con la función file que nos devuelve la lectura
// de cada fila en un elemento de array
$lee file$ruta );

foreach( 
$lee as $fila // hacemos un bucle para ir recorriendo cada fila
{
   
// separamos en partes cada fila por el separador "|" que fue el que pusimos
   // para distinguir cada dato
   
$separa explode'|'$fila );
   
// mostramos en pantalla cada uno de los datos en el orden que queramos
   
echo $separa[1]."|".$separa[0]."|".$separa[2]."|".$separa[3]."|".$separa[4]."<br/>";
}
?>
Te darás cuenta que es muy sencillo, aquí sólo mostre en pantalla los datos en otro orden pero tú podrías almacenarlos en una variable para después crear otro .txt con el nuevo orden de datos, digo, si es lo que necesitas.

Espero sea lo que querías o por lo menos te des una idea. Suerte
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 19:00.