PHP - SELECT A UN ARCHIVO DE TXT COMO BASE DE DATOS

 
Vista:

SELECT A UN ARCHIVO DE TXT COMO BASE DE DATOS

Publicado por adan (2 intervenciones) el 29/08/2018 20:13:15
Hola a todos, llevo unos días tratando de realizar un select según el numero de id que ingrese pero no me muestra los datos. tengo un código que me sirve para mostrar todos los datos pero no se modificarlo para que busque solo la linea que le indico por el id. si alguien puede ayudarme se los agradecería enormemente!.
les envió el código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$fp = fopen('archivo.txt','r');
if (!$fp) {echo 'ERROR: No ha sido posible abrir el archivo. Revisa su nombre y sus permisos.'; exit;}
 
$loop = 0; // contador de líneas
while (!feof($fp)) { // loop hasta que se llegue al final del archivo
$loop++;
$line = fgets($fp); // guardamos toda la línea en $line como un string
// dividimos $line en sus celdas, separadas por el caracter |
// e incorporamos la línea a la matriz $field
$field[$loop] = explode ('|', $line);
// generamos la salida HTML
echo '
 <div>
  <div>Nombre: '.$field[$loop][0].'</div>
  <div>Email: '.$field[$loop][1].'</div>
  <div>Website: '.$field[$loop][2].'</div>
  <div>Teléfono: '.$field[$loop][3].'</div>
 </div>
';
$fp++; // necesitamos llevar el puntero del archivo a la siguiente línea
}
 
fclose($fp);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 533
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

SELECT A UN ARCHIVO DE TXT COMO BASE DE DATOS

Publicado por Gonzalo (615 intervenciones) el 02/09/2018 03:18:51
este caso esta ... curioso.

primero $fp es una variable que controla el acceso a un archivo, no sabia que con ponerle $fp++; se pasaria al siguiente registro.

segun recuerdo, la lectura la hace hasta el primer CR o hasta el EOF, asi que cuando haces un read el puntero lee el primer registro hasta el CR y queda al inicio del registro 2.

asi que en el siguiente read lee el registro 2 hasta el CR y deja el puntero al inicio del registro 3, y asi hasta el ultimo registro.

por lo que en la instruccion

$line = fgets($fp);

estas leyendo todo el registro y dejando el puntero listo para la siguiente lectura.

asi que me imagino que el problema es en esta linea

$fp++;

no estoy seguro de que este sea el método para pasar al siguiente registro, pero corrijan me si estoy mal.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 1.668
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

SELECT A UN ARCHIVO DE TXT COMO BASE DE DATOS

Publicado por Mauro (467 intervenciones) el 06/09/2018 23:47:42
En principio te recomendaría que si lo que vas a hacer es leer el archivo línea por línea uses mejor la función file.

Por otro lado no veo ningún tag select...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar