Verán, estoy tratando de meter una opción administrativa, en esta opción tengo que realizar una consulta a la DB y mostrar los resultados dependiendo del id, así está el código;
$request = $smcFunc['db_query']('', '
SELECT *
FROM {db_prefix}mi_tabla
WHERE id = {int:id}
LIMIT 1',
array(
'id' => $_REQUEST['stat_id']
)
);
Donde $_REQUEST['stat_id'] lo busco en x-foro.net?;area=mi_area;sa=mi_funcion;stat_id=ID;session_var=session_id
Y pues bien, todo perfecto, me muestra los datos correctos dependiendo de el id
Mi problema es;
Tuve que poner todo el código en la función del template (function template_mi_funcion(){código}) ya que si ponía el código de la consulta de la DB en la "función de ésta sección"(no sé si me explico en que función, para ser más claro:
$subActions = array(
'area' => array(
'function' => 'funcion', <------ el código de la consulta a la DB lo ponía aquí y no me mostraba los resultados
'template' => 'template_funcion', <------- lo puse todo aquí y sólo así me mostró los resultados
'moderate_forum'
),
...
) no me mostraba los resultados, globalicé la variable $smcFunc en todo pero no tuve resultados.
Para mostrar los resultados uso esto:
while($row = $smcFunc['db_fetch_assoc']($request));
{
$variable[] = array(
'id' => $row['id'],
'campo' => $row['capo']
);
}
Libero los resultados y los muestro con un foreach
o también los muestro con un simple row
Alguna ayuda para no tener que poner todo en la función del template? cómo tengo que hacer para hacer la consulta en la "función principal" y mostrar los resultados en la función del template?
Gracias por la atención :P
debes meterlo en la variable $context... gliabliza esa variable en la funcion principal... usandolo como un vector (el context es un vector comodin en smf) y ahi podras usar el resultado en el template..
ejemplo
$context['mi_resultado] = $variable
donde variable es lo q tiene tu resultado de la consulta sql..
luego en el template gloablizas el context y ahi podras usar tu vector.. en un for each..
salu2
Oh, si, era la variable context, creí haberla globalizado :P
Gracias :D