Php en Plantilla

C4oz Seguir

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Ene 2010
Mensajes
6
Hola, tengo un super problema.. necesito hacer una consulta a sql que me imprima multiples resultados por lo tanto tengo que hacer un while, fetch, etc.. y si lo hago a travez de un plugin hookeando, solo sale el primer resultado cuando llamo a la variable del resultado y no salen todos..

¿Alguna idea? (?)
 

Angel Srto

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Sep 2010
Mensajes
355
En las plantillas no se puede ejecutar codigo PHP directamente, tendría que ser por plugin. Puedes poner el código de tu plugin aquí para darle una revisada?
 

C4oz

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Ene 2010
Mensajes
6
Claro ,por eso pregunto.. ya que si hago un while me es imposible poner todos los resultados que se impriman en la plantilla..

PHP:
mysql_connect('****', '****', '****');
            mysql_select_db('*****');
            $sql = mysql_query("SELECT * FROM quotenoti WHERE userquote='usuario1'");
            $query = mysql_query($sql);
          
             while($fila = mysql_fetch_assoc($query)) {
             echo $fila['user'];
               }

Necesito que todos los resultados se $fila['user']; sean impresos en una plantilla
 

Angel Srto

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Sep 2010
Mensajes
355
Hola,

la tabla que estás consultando está en la misma base de datos que el foro? porque podrías usar algo como esto en tu plugin:

PHP:
$sql = $db->query_read("SELECT * FROM quotenoti WHERE userquote='usuario1'");
while($fila = $db->fetch_array($sql)) {

print($fila['user']);

}

Eso te devolvería todos los user que encuentre, si solo hay uno pues solo devolverá uno.

el print($fila['user'); es solo para probar que funciona, para enviar tus datos a una plantilla deberías hacerlo registrando tus variables a la plantilla que deseas utilizar, o en tu caso, el hook en donde quieres mostrar los datos.
 

C4oz

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Ene 2010
Mensajes
6
Si, tu codigo funciona tambien perfectamente, mi duda es como hago para que el codigo al que hookeo mi plantilla aparesca en un lugar determinado por ejemplo abajo del navbar? Porque si lo hookeo directamente asi me imagino que aparecera o al principio o al final!
no?

un saludo y gracias
 

Angel Srto

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Sep 2010
Mensajes
355
En ese caso, según el hook que elijas, quedaría así:

PHP:
$sql = $db->query_read("SELECT * FROM quotenoti WHERE userquote='usuario1'");
while($fila = $db->fetch_array($sql)) {

$template_hook['nombre_de_hook'] .= $fila['user'];

}

Abajo del navbar no hay ningún hook me parece, así que podrías crear uno ahí editando la plantilla navbar supongo.
 

C4oz

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Ene 2010
Mensajes
6
Bien, comprendo, solo tengo una duda, en mi plantilla llamada "tecitaron" debajo del navbar tendria que agregar algun codigo para que llame al hook cierto?

Como seria eso? seria simplemente una variable??

osea, por un lado tenemos el codigo que me diste arriba, 'nombre_de_hook' vendria a ser alguna especie de variable que tengo que colocar en mi plantilla para que lo tome el $template_hook?

se entiende?

disculpa por dar tantas vueltas es que me falto entender eso, que agregar en la plantilla

un saludo y mil gracias amigo!
 

Angel Srto

Gamma
Programador
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
16 Sep 2010
Mensajes
355
en la plantilla bajo el navbar pones el siguiente hook {vb:raw template_hook.nombre_de_hook}, el cual representa el que puse en el código anterior. El nombre es el que elijas, claro está.


No estoy seguro que es lo que estás haciendo y como lo estás haciendo, lo que vengo explicando sería para enviar datos directamente de tu plugin a un hook, no de tu plugin a una plantilla y luego a un hook.

Saludos.
 

C4oz

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
10 Ene 2010
Mensajes
6
Si creo que nos estamos confundiendo! Voy a tratar de explicarme lo mejor posible..

Por un lado tengo un plugin llamado "Cita" que es:

PHP:
$sql = $db->query_read("SELECT * FROM quotenoti WHERE userquote='usuario1'");
while($fila = $db->fetch_array($sql)) {

$template_hook['nombre_de_hook'] .= $fila['user'];

}
Y lo tengo hookeado al parse_templates ¿Esta bien esto?

Y por otro lado tengo la plantilla vacia, con la estructura por defecto del foro.. header, navbar, footer.

Debajo del navbar necesito que salgan todos los resultados del $fila['user'];

Creo que ahora si me explique mejor

Un saludo!
 
Arriba