• 0
  • 6 RepliesReplies
  • 2891 ReadTimes Read
  • 0 PointsPoints

Topic: Problema Consulta base de datos

no avatar
Usuario: pipi2010
Rango: Nuevo Usuario
Mensajes: 252
Points: 43
Mi web: http://uni2s.com/
Perfil: View Profile
Pais:
ar
Problema Consulta base de datos
December 16, 2012 - 01:09 13:09
Problema Consulta base de datos

Datos importantes:
Url del foro: localhost
Version de SMF: 2.0.2
Theme del foro: default

Descripcion del problema:
hola amigos tengo mun problema con una consulta ala base de datos....

lo que pasa es que quiero tomar datos de una tabla que se llama seguidores  el problema es que tomo los datos pero se coloca la cantidada en todos los usuarios en el tema :S


Code: [Select]

global $smcFunc, $context, $user_info;
     $seguidores = $smcFunc['db_query']('', '
    SELECT cantidad
FROM {db_prefix}seguidores
WHERE id_member = {int:id_member}
',
array(
'id_member' => $context['user']['id'],
)
);
$context['follow_cantidad'] = $smcFunc['db_num_rows']($seguidores);

este es el codigo que estoy usando

les dejo una imagen para que se guien

Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:Problema Consulta base de datos
Reply #1 December 16, 2012 - 01:50 13:50
Hola,

precisamente lo que hace esa consulta es:

"dame la cantidad (un número) de seguidores de X usuario"

Eso está bien. A mi parecer creo que el error radica de cómo lo estás mostrando, es decir, en el Display.template.php. Te invito a poner la parte del código del Display.php donde muestras la cantidad de seguidores.

no avatar
Usuario: pipi2010
Rango: Nuevo Usuario
Mensajes: 252
Points: 43
Mi web: http://uni2s.com/
Perfil: View Profile
Pais:
ar
Re:Problema Consulta base de datos
Reply #2 December 16, 2012 - 02:19 14:19
este es el codigo con el que lo muestro

Code: [Select]
echo'<li><span id="cant_follow_'.$message['id']. '">'.$context['follow_cantidad'].'</span> '.$txt['follow_cant'].'</li>';
Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:Problema Consulta base de datos
Reply #3 December 16, 2012 - 04:05 16:05
Efectivamente, esta mal. Intenta lo siguiente....

Paso 1: La consulta debe de usar un id de usuario:

Code: [Select]
global $smcFunc, $context, $user_info;
     $seguidores = $smcFunc['db_query']('', '
    SELECT cantidad, id_member
FROM {db_prefix}seguidores
WHERE id_member = {int:id_member}
',
array(
'id_member' => $context['user']['id'],
)
);

Paso 2: Guardar los usuarios con su debida puntuación:

Code: [Select]
$context['follow_cantidad'] = $smcFunc['db_num_rows']($seguidores);
while ($row = $smcFunc['db_fetch_row']($seguidores ))
{
    $context['follow_cantidad'][$row['id_member']]['user'] = $row['id_member'];
    $context['follow_cantidad'][$row['id_member']]['cantidad'] = $row['cantidad'];
}


Ahora, en tu Display.template.php despliegas los seguidores para cada usuario determinado:

Code: [Select]
if ($message['author']['id'] == $context['follow_cantidad'][$message['author']['id']]['user']])
    echo'<li><span id="cant_follow_'.$message['id']. '">'.$message['author']['id']]['cantidad'].'</span> '.$txt['follow_cant'].'</li>';


Esa es la idea, me avisas cómo te va.
no avatar
Usuario: pipi2010
Rango: Nuevo Usuario
Mensajes: 252
Points: 43
Mi web: http://uni2s.com/
Perfil: View Profile
Pais:
ar
Re:Problema Consulta base de datos
Reply #4 December 16, 2012 - 09:55 21:55
con esa consulta no muestra nada directa mente :S

-------------------------------------------------------------------------

si alguien save con que variable o de que manera puedo tomar el id del usuario que comento e iso el tema
Usuario: manix
Rango: User Extremo
Mensajes: 437
Points: 214
Perfil: View Profile
Pais:
cr
Re:Problema Consulta base de datos
Reply #5 December 17, 2012 - 12:59 12:59
Mira, la consulta si retorna datos. Lo que pasa es que no recuerdo bien el nombre de las variables asi no más, pero ya tienes un diagrama completo de lo que debes hacer. Es cuestión de bucar el nombre correctamente.
no avatar
Usuario: pipi2010
Rango: Nuevo Usuario
Mensajes: 252
Points: 43
Mi web: http://uni2s.com/
Perfil: View Profile
Pais:
ar
Re:Problema Consulta base de datos
Reply #6 December 17, 2012 - 02:07 14:07
listo ya lo solucione despues de tantas pruebas jejejeje


Code: [Select]
global $smcFunc, $context, $user_info, $seguir;

   $seguidores = $smcFunc['db_query']('','
      SELECT *
      FROM {db_prefix}seguidores
      WHERE seguir_id = {int:member}
  ORDER BY id_member DESC
  LIMIT 0',
      array(
         'member' => $context['topic_starter_id'],
      )
   );

    $seguidores = $smcFunc['db_fetch_assoc']($seguidores);

  $segui = $smcFunc['db_query']('','
       SELECT *
       FROM {db_prefix}seguidores
       WHERE id_member = {int:member}',
      array(
         'member' => $context['user']['id'],
      )
   );
   
    $context['segui'] = array();
      while ($seg1 = $smcFunc['db_fetch_assoc']($segui))
           $context['segui'][] = array(
   
   'member' => $seg1['id_member'],
         );
       
$smcFunc['db_free_result']($segui);

   $cant_seguidores=0;
     foreach ($context['segui'] as $cant){
 
       $cant_seguidores++;
   $cant_member = $cant['member'];
 
        }
$context['follow_cantidad'] = $cant_seguidores;
$context['follow_member'] = $cant_member;

esta es la menera en que lo solucione
 

TAGS



top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines