Foros del Web » Programando para Internet » PHP »

Duda con Smarty

Estas en el tema de Duda con Smarty en el foro de PHP en Foros del Web. Como le pasaria este array bidimiensional a Smarty? Como lo manejaria? Código: while ($res_foro = mysql_fetch_array ($req_foro, MYSQL_ASSOC)){ $res_foro[]= $res_foro; }...
  #1 (permalink)  
Antiguo 19/08/2007, 17:55
 
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 233
Antigüedad: 19 años
Puntos: 5
Duda con Smarty

Como le pasaria este array bidimiensional a Smarty?

Como lo manejaria?

Código:
while ($res_foro = mysql_fetch_array ($req_foro, MYSQL_ASSOC)){
			$res_foro[]= $res_foro;
}
  #2 (permalink)  
Antiguo 19/08/2007, 18:13
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: Duda con Smarty

Pues pasas el arreglo como pasas cualquier variable:
$tpl->assign('data', $res_foro);

Y en el template, para mostrarlos seria algo como:

{section name=res loop=$data}
{$data[res].id} - {$data[res].nombre}
{sectionelse}
No hay items
{/section}

Espero se entienda ._. lo de "id" y "nombre", son las claves de el array asociativo
__________________
Sin Ideas
  #3 (permalink)  
Antiguo 22/08/2007, 15:32
 
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 233
Antigüedad: 19 años
Puntos: 5
Re: Duda con Smarty

Veamos continuando con este tema...

tenemos por un lado :

Código PHP:
    $req_foro mysql_query ($sql);
    while (
$res_foro mysql_fetch_array ($req_foroMYSQL_ASSOC)){
        
$foro[]= $res_foro;        
        }    
    
$Smarty -> assign ('foro'$foro); 
y trato de imprimir correctamente ese array en Smarty

Código PHP:
{section name=var loop=$foro}
{
$foro[var].autor}  {$foro[var].titulo}  {$foro[var].fecha}  {$foro[var].respuestas} <br  />
{
sectionelse}
No hay items
{/section
haber si alguien ve donde esta el error.

Nota, autor, titulo, tema, se supone que son los indices del array.
El array lo construye bien tambien ya que si hago un :
echo $foro[0]["referencia"]; me imprime correctamente.
Tampoco imprime el no hay item, con lo cual, pasa por el secction, pero creo que estoy accediendo mal a las variables..

Última edición por ikarush; 22/08/2007 a las 15:55
  #4 (permalink)  
Antiguo 22/08/2007, 15:59
Avatar de oso96_2000  
Fecha de Ingreso: junio-2002
Ubicación: Distrito Federal
Mensajes: 558
Antigüedad: 21 años, 10 meses
Puntos: 35
Re: Duda con Smarty

Lei tu edicion, prueba lo que digo abajo o.o

Otra cosa, no me he leido todo el manual, pero puede que sea porque var sea una variable reservada o algo por el estilo, por lo que tal vez no la tome bien.. yo tengo esto:

Código PHP:
function get_cat_menu() {
    
$sql mysql_query("SELECT * FROM categorias ORDER BY nombre ASC");
    
$data = array();
    while(
$d mysql_fetch_assoc($sql))    $data[] = $d;
    return 
$data;
}

$tpl->assign('menuCat'get_cat_menu()); 
Y en el template:
Código:
<ul>
	{section name=catid loop=$menuCat}
		<li><a href="{$menuCat[catid].easy_url}.html" title="{$menuCat[catid].nombre}">{$menuCat[catid].nombre}</a></li>
	{sectionelse}
		<li>No hay items</li>
	{/section}
</ul>
Es practicamente lo mismo, por eso se me ocurren las dos opciones que mencioné arriba.
__________________
Sin Ideas
  #5 (permalink)  
Antiguo 23/08/2007, 08:54
 
Fecha de Ingreso: marzo-2005
Ubicación: Madrid
Mensajes: 233
Antigüedad: 19 años
Puntos: 5
Re: Duda con Smarty

Increible tras casi 24 horas dandole vueltas al tema, haciendo esperimentos y estrujandome el cerebro...

faltaba :

$Smarty-> display ('foro.tpl');
  #6 (permalink)  
Antiguo 23/08/2007, 11:52
 
Fecha de Ingreso: febrero-2001
Mensajes: 1.374
Antigüedad: 23 años, 2 meses
Puntos: 11
Re: Duda con Smarty

Hice un estudio para demostrar que Smarty fue lo peor que le pudo pasar a PHP en los últimos años. 10/10 personas respondieron lo que pensaba que iban a responder, lo cual me dio la razon y pude demostrar mi punto.

Si estan interesados lo podemos hacer aquí también.

Saludos
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 23:18.