Foros del Web » Programando para Internet » PHP »

Como paso esto a smarty???

Estas en el tema de Como paso esto a smarty??? en el foro de PHP en Foros del Web. Hola a todos. Alguien k tenga conocimientos de smarty me podria decir como paso esto a Smarty: Código PHP:     $res_coinc  =  mysql_query ( "SELECT * FROM coincidencias where (receptor = '$id_user' OR candidato = '$id_user' AND aceptacion = '1')" ); ...
  #1 (permalink)  
Antiguo 01/09/2007, 14:58
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 1 mes
Puntos: 2
Como paso esto a smarty???

Hola a todos.
Alguien k tenga conocimientos de smarty me podria decir como paso esto a Smarty:

Código PHP:
    $res_coinc mysql_query("SELECT * FROM coincidencias where (receptor = '$id_user' OR candidato = '$id_user' AND aceptacion = '1')");
    
$numero=mysql_num_rows($res_coinc);
    While (
$Row mysql_fetch_array ($res_coinc))
    {            
        if(
$Row[receptor] == $id_user)    
        {
            
$user_actual $Row[receptor];
            
$user_otro $Row[candidato];
            
$plantilla->assign('user_actual',$user_actual);
            
$plantilla->assign('user_otro',$user_otro);
        }
        else
        {
            
$user_actual $Row[candidato];
            
$user_otro $Row[receptor];
            
$plantilla->assign('user_actual',$user_actual);
            
$plantilla->assign('user_otro',$user_otro);
        }
    echo 
"<img src='$user_otro.jpg' /><br />";
    } 
Me gustaria enviar las variables '$user_actual' y 'user_otro' hacia la plantilla pero claro estas variables pueden ser muxas no solo una, y no tengo ni idea de como hacerlo. En el mismo codigo se puede ver cual seria la idea sin sistema de plantillas, al final se ve el:
Código:
echo "<img src='$user_otro.jpg' /><br />";
que mostraria todas las imagenes, pero claro esto en php, como hago para mandar todas las variables k salgan a smarty? Un saludo y gracias
  #2 (permalink)  
Antiguo 01/09/2007, 15:26
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Como paso esto a smarty???

Que te parece esto? No entendi bien lo que buscas ....
Código PHP:
    $res_coinc mysql_query("SELECT * FROM coincidencias where (receptor = '$id_user' OR candidato = '$id_user' AND aceptacion = '1')"); 
    
$numero=mysql_num_rows($res_coinc); 
 
    
//Array que contendra los datos
    
$datos = array();
 
    While (
$Row mysql_fetch_array ($res_coinc)) 
    {          
        
$datos[$k] = array();   
        
$datos[$k]["user_actual"] = ($Row[receptor] == $id_user) ? $Row[receptor] : $Row[candidato]; 
        
$datos[$k]["user_otro"] = ($Row[receptor] == $id_user) ? $Row[candidato] : $Row[receptor]; 
        
$k++;
    }  
    
$smarty->assign('datos',$datos); 
y en tu template:
Código HTML:
{foreach key=k item=i from=$datos}
echo "<img src='{$i.user_otro}.jpg' /><br />";
{foreachelse}
No se encontró registros
{/foreach}
Un saludo,
  #3 (permalink)  
Antiguo 01/09/2007, 15:46
 
Fecha de Ingreso: marzo-2004
Mensajes: 283
Antigüedad: 20 años, 1 mes
Puntos: 2
Re: Como paso esto a smarty???

Joe k rapided y k efectividad jejej. Muxas gracias okram, no me habrias entendido pero es exactamente lo k keria! Mi nivel de php no llega para entender la parte: ($Row[receptor] == $id_user) ? $Row[receptor] : $Row[candidato]; pero funciona perfectamente. Muxas gracias de nuevo
  #4 (permalink)  
Antiguo 01/09/2007, 15:54
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: Como paso esto a smarty???

Código PHP:
$datos[$k]["user_actual"] = ($Row[receptor] == $id_user) ? $Row[receptor] : $Row[candidato]; 
es igual que
Código PHP:
if($Row[receptor] == $id_user)
{
$datos[$k]["user_actual"] = $Row[receptor];
}
else
{
$datos[$k]["user_actual"] = $Row[candidato];

En general:

Código PHP:
//if
if(condicion) {
$var "valor si true";
} else {
$var "valor si false";
}
 
//?
$var = (condicion) ? "valor si true" "valor si false"
Es simplemente una forma abreviada de hacerlo . Es más, si lo miras con lógica, tiene más sentido que el if (fijate en el signo de interrogacion, es como si preguntaras ¿condicion?

Un saludo,

Última edición por okram; 01/09/2007 a las 15:56 Razón: Un pequeño error ;-)
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 21:38.