Foros del Web » Programando para Internet » PHP »

Smarty y bases de datos MySql

Estas en el tema de Smarty y bases de datos MySql en el foro de PHP en Foros del Web. Hola Tengo un problema ... la verdad no sabia si postear aqui o en el foro de aplicaciones prefabricadas, pero creo q mejor da aqui. ...
  #1 (permalink)  
Antiguo 24/02/2006, 19:53
okram
Invitado
 
Mensajes: n/a
Puntos:
Smarty y bases de datos MySql

Hola

Tengo un problema... la verdad no sabia si postear aqui o en el foro de aplicaciones prefabricadas, pero creo q mejor da aqui. Lo que pasa es que estoy usando el sistema de templates smarty, y me va todo bien. He diseñado un sistema de descargas, y los datos de cada archivo los guardo en una BD Mysql... pero no se como hacer para mostrar las consultas, osea para colocar el resultado en la plantilla y crear un loop ... creo que es con la funcion de smarty {section} pero no logro hacer nada....

Para realizar la consulta a la BD uso este codigo:

Código PHP:
$sql 'SELECT * FROM `'.$_FILES_TABLE.'` ORDER BY `id` DESC LIMIT 0, 30'
normalemnte haria algo como

Código PHP:
$result mysql_query($sql);
echo 
'<table>
<tr>
<td>Nombre de archivo</td>
<td>Tamaño</td>
<td>Descripcion</td>
</tr>'
;
while(
$datos mysql_fetch_array($result)) {
echo 
'<tr>
 <td>'
.$datos['archivo_nombre'].'</td>
 <td>'
.$datos['archivo_tamano'].'</td>
 <td>'
.$datos['archivo_descrip'].'</td>
</tr>'
;

y funciona, pero no se como integrarlo como los templates para smarty

Espero se me haya entendido y me puedan ayudar

Salu2
  #2 (permalink)  
Antiguo 25/02/2006, 05:02
 
Fecha de Ingreso: enero-2004
Mensajes: 64
Antigüedad: 13 años, 11 meses
Puntos: 0
es facil, suponemos que $datos es el array con todo los datos

pues hacemos algo asi

{section name=i loop=$DATOS}
{$DATOS[i].Archivo_nombre}
{/secion}

saludos ;)
__________________
-----------
TheKeePEr
Emoxion [ Musica Electronica ]
  #3 (permalink)  
Antiguo 25/02/2006, 16:27
okram
Invitado
 
Mensajes: n/a
Puntos:
Bueno gracias por la respuesta-...

No anda... aun no me sale, use el codigo que me diste, asi:

en el archivo php, donde realizo la consulta:

$sql = 'SELECT * FROM `archivos` ORDER BY `id` DESC LIMIT 0, 20';
$query = mysql_query($sql);
$DATOS = mysql_fetch_array($query);
$smarty->assign('DATOS',$DATOS);


y en el template (.tpl)

{section name=i loop=$DATOS}
{$DATOS[i].id}<br />
{$DATOS[i].archivo_name}<br />
{$DATOS[i].archivo_size}<br />
{$DATOS[i].archivo_cat}<br />
{$DATOS[i].archivo_desc}<br />
{/section}


Y lo que obtengo es (con el espacio al final y todo):

Cita:
2
2
2
2
2
l
l
l
l
l
d
d
d
d
d
E
E
E
E
E
4
4
4
4
4
B
B
B
B
B
m
m
m
m
m
7
7
7
7
7
1
1
1
1
1
2
2
2
2
2
















































que corresponden al primer caracter de cada campo en el último registro de la tabla, osea

2 -> id
L -> archivo_name > Lipidos.doc
D -> archivo_cat > Documentos
E -> archivo_desc > El resumen de...
4 -> archivo_size > 472 Kb
B -> archivo_curs > Bioquímica....
M -> archivo_sender > Marco :P
7 -> archivo_date (fecha)
1 -> archivo_tdown (total de descargas)
2 -> archivo_ip (2xx.xxx.xx.xxx)


como ves, me toma todos los campoos de mi tabla, y solo el ultimo registro, y si le quito el [i], osea lo dejo asi:

{section name=i loop=$DATOS}
{$DATOS.id}<br />
{$DATOS.archivo_name}<br />
{$DATOS.archivo_size}<br />
{$DATOS.archivo_cat}<br />
{$DATOS.archivo_desc}<br />
{/section}

me sale lo mismo, solo que en vez de la primera letra me sale todo el contenido del campo, igual lo repite y deja ese espacio al final

espero me ayuden....!!!

Gracias

Salu2
  #4 (permalink)  
Antiguo 26/02/2006, 21:03
okram
Invitado
 
Mensajes: n/a
Puntos:
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 13:32.