PHP - Apartado de descarga

   
Vista:

Apartado de descarga

Publicado por Dix (15 intervenciones) el 30/08/2016 21:17:13
Hola buenas tardes,

Quisiera saber como puedo hacer un apartado de descarga en una tabla en php por cada fila.

ea1305e2f961cb04660dd977f5c56ad8o


En el primer apartado quiero poner un link que lleve al pdf y el segundo a un archivo de excel.

Dejo mi codigo, espero me puedan ayudar.

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
<?php
	require('conexion.php');
 
	$query="SELECT *  FROM deduc11k ORDER BY numes";
 
	$resultado=$mysqli->query($query);
 
?>
 
<HTML LANG="es">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
	<head>
<BR>
<BR>
<BR>
<BR>
		<title>COMERCIO</title>
	</head>
	<body>
	<div id="cuadro">
		<center><img src="contacDt.png"><br>
		<div id="titulo">
		<center><h1>ENTREGAS</h1></center>
		</div>
 
		<table>
			<thead>
				<tr class="centro">
					<td>AÑO</td>
					<td>MES</td>
					<td>STATUS</td>
					<td>TICKET</td>
					<td>BONIFICACION</td>
                    <td><img align="center" src= "d_pdf.png"/>
 
 
                    </td>
                    <td><img align="center" src= "d_excel.png"/></td>
 
              				</tr>
				<tbody>
					<?php while($row=$resultado->fetch_assoc()){ ?>
						<tr>
							<td><?php echo $row['year'];?>
							</td>
							<td>
								<?php echo $row['mes'];?>
							</td>
							<td>
								<?php echo $row['status'];?>
							</td>
							<td>
								<?php echo $row['tickets'];?>
							</td>
							<td>
								<?php echo $row['bon'];?>
							</td>
                            </tr>
					<?php } ?>
				</tbody>
			</table>
			</center
		></div>
		</body>
	</html>
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
Imágen de perfil de kip

Apartado de descarga

Publicado por kip (828 intervenciones) el 30/08/2016 23:19:19
Hola, tienes la url donde se encuentra el archivo a descargar en la base de datos? Es decir el path del directorio en tu servidor donde se encuentra tal archivo

Saludos
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

Apartado de descarga

Publicado por Dix (15 intervenciones) el 30/08/2016 23:21:25
Descargas/Enero.xls
Descargas/Enero.pdf

Descargas/Abril.xls
Descargas/Abril.pdf
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 kip

Apartado de descarga

Publicado por kip (828 intervenciones) el 31/08/2016 01:14:44
En tal caso podrias probar de esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php while($row=$resultado->fetch_assoc()){ ?>
	<tr>
		<td><?php echo $row['year'];?>
		</td>
		<td>
			<?php echo $row['mes'];?>
		</td>
		<td>
			<?php echo $row['status'];?>
		</td>
		<td>
			<?php echo $row['tickets'];?>
		</td>
		<td>
			<?php echo $row['bon'];?>
		</td>
		<td>
			<a href ="<?php echo $_SERVER['DOCUMENT_ROOT'].$row['pathbase'];?>">DESCARGAR</a>
		</td>
	</tr>
<?php } ?>

La variable $_SERVER['DOCUMENT_ROOT'] te traera el path de tu sistema en el servidor y la concateno con $row['pathbase'] que es la fila que contiene la dir que colocaste arriba, recuerda reemplazarlo por el nombre del campo de tu tabla.

Nos cuentas si te sirvio.
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

Apartado de descarga

Publicado por Dix (15 intervenciones) el 31/08/2016 17:45:29
Hola muchas gracias por tu ayuda,

Tengo algunas dudas.

1
<a href ="<?php echo $_SERVER['DOCUMENT_ROOT'].$row['pathbase'];?>">DESCARGAR</a>


En:

1
['DOCUMENT_ROOT']


Tengo que poner la ruta donde están mis archivos?
Ejemplo:
1
['Descargas']


y En:

1
['pathbase']

Tengo que poner el nombre de la fila qu esta en al base de datos?

Ejemplo:

1
['download']
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 kip

Apartado de descarga

Publicado por kip (828 intervenciones) el 01/09/2016 02:28:30
La variable $_SERVER['DOCUMENT_ROOT'] te trae parth completo de tu completo, es decir algo asi C:/wamp/www y si lo tienes en una subcarpeta C:/wamp/www/subcarpeta, bien sabiendo eso lo concatenas con el dato de tu base.

Digamos que en el campo DESCARGAR de tu base guardaste una direccion asi, descargas/doc/proyecto.pdf, debes recordar si aquella carpeta descargas esta en la misma carpeta del proyecto o en una, puedes tener aquella dentro de otra y no haberla guardado en la base aquel nombre de la carpeta por ejemplo:

El campo en tu base es descargas/doc/proyecto.pdf pero aquella carpeta que aparece al inicio esta dentro de otra, es decir el verdadero acceso seria otracarpeta/descargas/doc/proyecto.pdf donde otracarpeta seria lo que falta para tener el path completo no?

Debes tener en cuenta eso, pero si tienes correcto el path guardado en tu base entonces si concatenas la variable $_SERVER['DOCUMENT_ROOT'] con la que obtienes de tu base, quedaria asi:

1
2
echo $_SERVER['DOCUMENT_ROOT'].'/'.$row['descarga'];
//MUESTRA C:/wamp/www/descargas/doc/proyecto.pdf 

Si te fijas tambien agregue esto '/' lo hice porque quizas al guardar en tu base no colocaste antes de descargas/.../.. un slash, que deberia ir, si lo colocaste entonces no es necesario.

Espero hayas entendido y asi mismo puedas resolver el problema, nos cuentas.
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

Apartado de descarga

Publicado por Dix (15 intervenciones) el 01/09/2016 20:24:47
ya cambie los valores y en efecto ya me aparece la ruta donde están mis archivos, en la base de datos le puse el nombre de mi archivo tal cual, pero aun no descarga el archivo.


a9630bb119b2324f6f62acfffe055210o
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

Apartado de descarga

Publicado por Dix (15 intervenciones) el 01/09/2016 20:55:39
EN EL CODIGO ESTA ASI:

1
<a href="<?php echo $_SERVER['DOCUMENT_ROOT'].'/'.$row['download'];?>">DESCARGAR</a>

EN LA PAGINA ASI:

db5665a54ed4db58b7a767c15d558f4eo

EN LA CAPETA ASI:

e4afad54b09a6cec7ee9c661abfbc245o

EN LA BASE ASI:

d1748369c0f1ef7dbc0d5a45c5a684d6o

TENGO MIS DUDAS EN LA BASE DE DATOS LA COLUMNA QUE TIPO DEBE DE TENER?
ACTUALMENTE LA TENGO EN: TEXT

DISCULPA POR LAS MOLESTIAS.
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 kip

Apartado de descarga

Publicado por kip (828 intervenciones) el 01/09/2016 21:20:54
Hazlo asi:

1
<a target="_blank" href="<?php echo '/'.$row['descarga'];?>" download>DESCARGAR</a>

Ya que estas en el servidor local, no es necesario que uses $_SERVER['DOCUMENT_ROOT'], quizas cometi un error al colocar aquella variable, lo siento.

Espero funcione ahora.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Apartado de descarga

Publicado por Dix (15 intervenciones) el 01/09/2016 21:29:24
Listo el PDF me lo muestra y ya relaciono caulquier otro archivo como . xls y me lo descarga, muchas gracias amigo.
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

Apartado de descarga

Publicado por Dix (15 intervenciones) el 23/09/2016 19:06:26
Hola,

Tengo una duda sobre la sintaxis espero me puedas ayudar.


como puedo aplicar esta linea de codigo:

1
<td><a target="_blank" href="<?php echo '/ok/Descargas/'.$row['xls'];?>">DESCARGAR</a></td>

En este otro tipo de linea:


1
2
3
4
$htmldatos.= '<tr>';
$htmldatos.= '<td><font size=2>'.$f['year'].'</td></font>';
$htmldatos.= '<td><font size=2>'.$f['mes'].'</td></font>';
$htmldatos.= '<td><font size=2>'.$f[$indice].'</td></font>';
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 xve

Apartado de descarga

Publicado por xve (6035 intervenciones) el 24/09/2016 09:25:22
Hola Dix, no se si te entiendo bien, pero quieres poner la primera linea dentro de una variable? si es así, seria algo así:

1
$htmldatos.='<td><a target="_blank" href="/ok/Descargas/'.$row['xls'].'">DESCARGAR</a></td>';
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

Apartado de descarga

Publicado por Dix (15 intervenciones) el 27/09/2016 02:04:54
si esa era mi duda, muchas gracias.
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