Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Busqueda en PHP NUKE

Estas en el tema de Busqueda en PHP NUKE en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola Amigos: Tengo un php nuke instalado y tengo un problema con el buscar del mismo. La busqueda en PHP NUKE se puede realizar de ...
  #1 (permalink)  
Antiguo 04/05/2009, 14:43
Avatar de soy_rebeca  
Fecha de Ingreso: agosto-2008
Mensajes: 42
Antigüedad: 16 años, 4 meses
Puntos: 0
Busqueda en PHP NUKE

Hola Amigos:

Tengo un php nuke instalado y tengo un problema con el buscar del mismo.

La busqueda en PHP NUKE se puede realizar de 2 maneras, por una o un conjunto de palabras o por autor, mi problema es por autor.

Ya que al ingresar un autor, me devuelve como resultado todo lo que ese usuario ha escrito, es decir no solo me devuelve sus post sino tambien todos en los que participo, lo cual no es mi objetivo.

La idea es que devuelva solo los post en los cuales, es autor el usuario buscado.

Por favor alguien me dice como modifico esto???

Desde ya Muchas Gracias... y Espero me puedan ayudar ya que he buscado esto y no lo encontre.
  #2 (permalink)  
Antiguo 04/05/2009, 15:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: Busqueda en PHP NUKE

Tema trasladado desde PHP
  #3 (permalink)  
Antiguo 05/05/2009, 14:09
Avatar de soy_rebeca  
Fecha de Ingreso: agosto-2008
Mensajes: 42
Antigüedad: 16 años, 4 meses
Puntos: 0
Exclamación Respuesta: Busqueda en PHP NUKE

Cita:
Iniciado por GatorV Ver Mensaje
Tema trasladado desde PHP
Ni en el foro PHP, ni en este creo que me ayudaran Gatorv, igualmente pido disculpas, realmente estaba en la duda de en cual correspondia.

Por que lo que tengo que hacer es modificar el codigo PHP, en la pagina search.php de la carpeta modules --> forums

Pero no se que es lo que tengo que cambiar, por que de PHP NUKE no conosco mucho....

Ojala alguien me ayude... por favor...
  #4 (permalink)  
Antiguo 05/05/2009, 16:03
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 2 meses
Puntos: 43
Respuesta: Busqueda en PHP NUKE

tenes que cambiar la consulta sql del foro, es un poco complicado si no sabes nada de nuke o smarty, ya que el foro usa este sistema de plantilla para mostrar el mismo.
  #5 (permalink)  
Antiguo 08/05/2009, 11:40
Avatar de soy_rebeca  
Fecha de Ingreso: agosto-2008
Mensajes: 42
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Busqueda en PHP NUKE

Cita:
Iniciado por destor77 Ver Mensaje
tenes que cambiar la consulta sql del foro, es un poco complicado si no sabes nada de nuke o smarty, ya que el foro usa este sistema de plantilla para mostrar el mismo.
Destor77, me podrias indicar como realizo esto?

O donde puedo encontrar la solucion?

Gracias.
  #6 (permalink)  
Antiguo 09/05/2009, 13:02
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 2 meses
Puntos: 43
Respuesta: Busqueda en PHP NUKE

tenes que ver el archivo donde hace la búsqueda (creo que es search.php) y ahí vas a tener que cambiar la consulta sql, básicamente indicarle que busque solo por author en la tabla correspondiente.
Cualquier cosa pega el código acá y vemos que se puede hacer, pero si lo intentas vos mucho mejor
  #7 (permalink)  
Antiguo 11/05/2009, 11:56
Avatar de soy_rebeca  
Fecha de Ingreso: agosto-2008
Mensajes: 42
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Busqueda en PHP NUKE

Cita:
Iniciado por destor77 Ver Mensaje
tenes que ver el archivo donde hace la búsqueda (creo que es search.php) y ahí vas a tener que cambiar la consulta sql, básicamente indicarle que busque solo por author en la tabla correspondiente.
Cualquier cosa pega el código acá y vemos que se puede hacer, pero si lo intentas vos mucho mejor
Destor77: creo que voy a seguir molestando... perdona.

Mira, lo de la modificacion lo sabia, el problema es que tengo en la pagina (search.php) varios codigos y no se cual tengo que cambiar y lo mas importante, no conosco bien las tablas del php nuke, por lo que estoy perdida en ello.

Aca te pongo los codigos y haber como me puedes ayudar.

Código PHP:
if ( $search_author != '' )
{
    
$from_sql .= ", " USERS_TABLE " u";
    
$where_sql .= " AND u.user_id = p.poster_id AND u.username LIKE '$search_author' ";
}
if ( 
$auth_sql != '' )
{
    
$from_sql .= ", " FORUMS_TABLE " f";
    
$where_sql .= " AND f.forum_id = p.forum_id AND $auth_sql";


Código PHP:
if ( $auth_sql != '' )
{
    
$from_sql .= ", " FORUMS_TABLE " f";
    
$where_sql .= " AND f.forum_id = p.forum_id AND $auth_sql";
}
if ( 
$search_author != '' )
{
    
$from_sql .= ", " USERS_TABLE " u";
    
$where_sql .= " AND u.user_id = p.poster_id AND u.username LIKE '$search_author'";
                    


Código PHP:
if ( $search_id == 'egosearch' )
{
    if ( 
$userdata['session_logged_in'] )
    {
             
$sql "SELECT post_id
               FROM " 
POSTS_TABLE "
        WHERE poster_id = " 
$userdata['user_id'];
        }
    else
    {
                 
redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=egosearch"true));
    }
    
$show_results 'topics';
    
$sort_by 0;
    
$sort_dir 'DESC';
}
else
{
    if (
preg_match('#^[\*%]+$#'trim($search_author)) || preg_match('#^[^\*]{1,2}$#'str_replace(array('*''%'), ''trim($search_author))))
       {
            
$search_author '';
    }
     
$search_author str_replace('*''%'trim($search_author));
        
$sql "SELECT user_id
        FROM " 
USERS_TABLE "
        WHERE username LIKE '" 
str_replace("\'""''"$search_author) . "'";                    
    if ( !(
$result $db->sql_query($sql)) )
    {
        
message_die(GENERAL_ERROR"Couldn't obtain list of matching users (searching for: $search_author)"""__LINE____FILE__$sql);
    }
    
$matching_userids '';
    if ( 
$row $db->sql_fetchrow($result) )
    {
        do
        {
        
$matching_userids .= ( ( $matching_userids != '' ) ? ', ' '' ) . $row['user_id'];
        }
        while( 
$row $db->sql_fetchrow($result) );
    }
    else
    {
        
message_die(GENERAL_MESSAGE$lang['No_search_match']);
    }
         
$sql "SELECT post_id
           FROM " 
POSTS_TABLE "
    WHERE poster_id IN ($matching_userids)"
;
    if (
$search_time)
    {
        
$sql .= " AND post_time >= " $search_time;
    }

Ojala tu me puedas ayudar, o alguien mas.

Estaria muy agradecida.
  #8 (permalink)  
Antiguo 18/05/2009, 13:58
Avatar de soy_rebeca  
Fecha de Ingreso: agosto-2008
Mensajes: 42
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Busqueda en PHP NUKE

Cita:
Iniciado por soy_rebeca Ver Mensaje
Destor77: creo que voy a seguir molestando... perdona.

Mira, lo de la modificacion lo sabia, el problema es que tengo en la pagina (search.php) varios codigos y no se cual tengo que cambiar y lo mas importante, no conosco bien las tablas del php nuke, por lo que estoy perdida en ello.

Aca te pongo los codigos y haber como me puedes ayudar.

Código PHP:
if ( $search_author != '' )
{
    
$from_sql .= ", " USERS_TABLE " u";
    
$where_sql .= " AND u.user_id = p.poster_id AND u.username LIKE '$search_author' ";
}
if ( 
$auth_sql != '' )
{
    
$from_sql .= ", " FORUMS_TABLE " f";
    
$where_sql .= " AND f.forum_id = p.forum_id AND $auth_sql";


Código PHP:
if ( $auth_sql != '' )
{
    
$from_sql .= ", " FORUMS_TABLE " f";
    
$where_sql .= " AND f.forum_id = p.forum_id AND $auth_sql";
}
if ( 
$search_author != '' )
{
    
$from_sql .= ", " USERS_TABLE " u";
    
$where_sql .= " AND u.user_id = p.poster_id AND u.username LIKE '$search_author'";
                    


Código PHP:
if ( $search_id == 'egosearch' )
{
    if ( 
$userdata['session_logged_in'] )
    {
             
$sql "SELECT post_id
               FROM " 
POSTS_TABLE "
        WHERE poster_id = " 
$userdata['user_id'];
        }
    else
    {
                 
redirect(append_sid("login.$phpEx?redirect=search.$phpEx&search_id=egosearch"true));
    }
    
$show_results 'topics';
    
$sort_by 0;
    
$sort_dir 'DESC';
}
else
{
    if (
preg_match('#^[\*%]+$#'trim($search_author)) || preg_match('#^[^\*]{1,2}$#'str_replace(array('*''%'), ''trim($search_author))))
       {
            
$search_author '';
    }
     
$search_author str_replace('*''%'trim($search_author));
        
$sql "SELECT user_id
        FROM " 
USERS_TABLE "
        WHERE username LIKE '" 
str_replace("\'""''"$search_author) . "'";                    
    if ( !(
$result $db->sql_query($sql)) )
    {
        
message_die(GENERAL_ERROR"Couldn't obtain list of matching users (searching for: $search_author)"""__LINE____FILE__$sql);
    }
    
$matching_userids '';
    if ( 
$row $db->sql_fetchrow($result) )
    {
        do
        {
        
$matching_userids .= ( ( $matching_userids != '' ) ? ', ' '' ) . $row['user_id'];
        }
        while( 
$row $db->sql_fetchrow($result) );
    }
    else
    {
        
message_die(GENERAL_MESSAGE$lang['No_search_match']);
    }
         
$sql "SELECT post_id
           FROM " 
POSTS_TABLE "
    WHERE poster_id IN ($matching_userids)"
;
    if (
$search_time)
    {
        
$sql .= " AND post_time >= " $search_time;
    }

Ojala tu me puedas ayudar, o alguien mas.

Estaria muy agradecida.
Bueno, seguire intentando cambiar esto y esperando alguna respuesta. Si lo soluciono aviso, pero todavia no puedo hacerlo andar, cuando cambio los where no me sale nada en la busqueda.
  #9 (permalink)  
Antiguo 18/05/2009, 18:38
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 20 años, 2 meses
Puntos: 43
Respuesta: Busqueda en PHP NUKE

hola soy rebeca, perdon por no responderte es que estoy a full con el laburo y estoy llegando re tarde a mi casa por que estoy viajando, viendo muy por encima creo que tenes que modificar la segunda consulta. Deberías fijarte como esta armada las tablas nuke_forums y demás tabla del foro. Si me queda algun tiempo libre le pego una mejor ojeada.
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:08.