Código de PHP - Visualizar un archivo csv con paginación en PHP

Imágen de perfil

Visualizar un archivo csv con paginación en PHPgráfica de visualizaciones


PHP

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 01 de Julio del 2014 por Xavi
2.557 visualizaciones desde el 01 de Julio del 2014. Una media de 21 por semana
Código de ejemplo que muestra como mostrar el contenido de un archivo csv desde PHP y paginar su contenido en diferentes paginas, dependiendo de la configuración de las variables

Versión 1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 01 de Julio del 2014gráfica de visualizaciones de la versión: Versión 1
2.558 visualizaciones desde el 01 de Julio del 2014. Una media de 21 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Puedes visualizar un ejemplo aquí
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE html>
<html lang="es">
<head>
	<meta charset="utf-8">
	<title>Visualizar un archivo csv con paginación en PHP</title>
 
	<style>
	table {
		width:400px;
	}
	table,th,td {
		border:1px solid black;
		border-collapse:collapse;
		padding:2px 5px;
	}
	.nav {
		width:400px;
		text-align:center;
		margin-top:20px;
	}
	.nav span, .nav a {
		margin-left:10px;
	}
	.nav span:first-child, .nav a:first-child {
		margin-left:0px;
	}
	.nav span {
		font-weight:bold;
	}
	.nav a {
		color:#00f;
	}
	</style>
</head>
 
<body>
 
<h1>Visualizar un archivo csv con paginación en PHP</h1>
 
<?php
if (($handle = fopen("archivo.csv", "r")) !== FALSE)
{
	# contara el numero de filas totales para poder crear la paginacion
	$filas=0;
 
	# contara el numero de filas a mostrar
	$fila=0;
 
	# determina la pagina en la que nos encontramos. 0 es la primera pagina
	$pagina=0;
 
	# Determinamos el numero de filas a mostrar
	$filasPorPagina=10;
 
	# si hemos recibido por get el numero de pagina...
	if(isset($_GET["pag"]) && is_numeric($_GET["pag"]))
		$pagina=$_GET["pag"];
 
	echo "<table>";
		echo "<tr>";
			echo "<th>Nombre</th>";
			echo "<th>Apellido</th>";
			echo "<th>Telefono</th>";
		echo "</tr>";
		# Hacemos un bucle para recorrer todas las lineas del archivo csv
		while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
		{
			$filas++;
			if($filas>$pagina*$filasPorPagina)
			{
				if($fila++<$filasPorPagina)
				{
					$num = count($data);
					echo "<tr>";
						for($i=0;$i<$num;$i++)
						{
							echo "<td>".$data[$i]."</td>\n";
						}
					echo "</tr>";
				}
			}
		}
		fclose($handle);
	echo "</table>";
}
 
# realizamos la paginación
if($filas>$filasPorPagina)
{
	echo "<div class='nav'>";
		# inicio
		if($pagina==0)
			echo "<span>Anterior</span>";
		else
			echo "<a href='".$_SERVER["PHP_SELF"]."?pag=".($pagina-1)."'>Anterior</a>";
 
		for($i=0;$i<ceil($filas/$filasPorPagina);$i++)
		{
			if($i==$pagina)
			{
				# esta es la pagina en la que nos encontramos actualmente
				echo "<span>".($i+1)."</span>";
			}else{
				echo "<a href='".$_SERVER["PHP_SELF"]."?pag=".$i."'>".($i+1)."</a>";
			}
		}
 
		# final
		if($pagina==ceil($filas/$filasPorPagina)-1)
			echo "<span>Siguiente</span>";
		else
			echo "<a href='".$_SERVER["PHP_SELF"]."?pag=".($pagina+1)."'>Siguiente</a>";
	echo "</div>";
}
?>
 
<p>Para este ejemplo, el <u>archivo.csv</u> contiene algo como:
<i><br>nombre1,apellido1,telefono1
<br>nombre2,apellido2,telefono2
<br>nombre3,apellido3,telefono3
...</i>
</p>
</html>



Comentarios sobre la versión: Versión 1 (1)

Imágen de perfil
Ric
07 de Junio del 2015
estrellaestrellaestrellaestrellaestrella
Interesante mi hermano.! Gracias
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2707