Foros del Web » Programando para Internet » PHP »

Problema con php que lista datos desde base SQL (Vbulletin)!

Estas en el tema de Problema con php que lista datos desde base SQL (Vbulletin)! en el foro de PHP en Foros del Web. Hola gente!! Este es mi primer post.. y arranco con todo! :) Esto sería algo así como una consulta sobre PHP pero orientada a una ...
  #1 (permalink)  
Antiguo 11/06/2010, 16:13
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema con php que lista datos desde base SQL (Vbulletin)!

Hola gente!!
Este es mi primer post.. y arranco con todo! :)

Esto sería algo así como una consulta sobre PHP pero orientada a una base de datos de un foro vbulletin. Disculpen que lo haga aquí, pero creo que el problema es exclusivo de programacion PHP.

Un amigo que algo sabe de php me pasó un codigo en php que utiliza 3 tablas de vbulletin para armar un listado de usuarios y un campo del perfil filtrando por grupo de usuarios.
El php arma una tabla con

Nombre del Equipo (Según el Grupo de Usuarios)
nombre_de_usuario1 | Accesorio que utiliza (campo2 del perfil de usuario = field2)
nombre_de_usuario2 | Accesorio que utiliza
nombre_de_usuario_n | Accesorio que utiliza
...
...

Ahora bien, para armar este listado el php toma los datos de 3 tablas del foro.
mst_users (acá estan los nombres de usuarios)
mst_usergroup (de acá tomo el listado de nombres de Grupos)
mst_userfield (de acá tomo el field2)

El problema que estoy teniendo es que no me lista los usuarios que tienen más de un "grupo de usuario" asignado por más que pertenezcan al grupo que quiero listar. Como no utilizo en mst_users la tabla de grupo de usuarios principal, sino la secundaria no puedo entrelazar bien los datos me parece.

Si alguien puede darme alguna idea... se que es PHP unicamente... y que el problema parece ser la integracion de datos entre las 3 tablas que estoy tratando de sincronizar y tomar los datos separados por comas desde este mismo PHP. Alguien tiene alguna idea al respecto? Mi conocimiento de php es muy, pero muy básico. Desde ya muchas gracias!!!

Espero que alguno la tenga un poco más clara con PHP para que pueda ayudarme. Gracias!


Abajo les pasteo el codigo que estoy probando actualmente.

Código PHP:
$host="localhost"; 
$username="Usuario_de_base_de_datos_del_foro"; 
$password="contraseña_de_base_de_datos_del_foro"; 
$db_name="nombre_de_base_de_datos_del_foro"; 

mysql_connect("$host", "$username", "$password")or die("No se pudo conectar con el server"); 
mysql_select_db("$db_name")or die("No se pudo conectar con la tabla"); 
mysql_query ("SET NAMES 'utf8'"); 
?> 
<div id="maincontainer"> 
<? 
?>
 

<?  
    $sql_grupos
="select * from mst_usergroup WHERE usergroupid='10' OR usergroupid='11' OR usergroupid='15' OR usergroupid='16' OR usergroupid='17' OR usergroupid='20' OR usergroupid='24' OR usergroupid='25' OR usergroupid='26'"
    
$result_grupos=mysql_query($sql_grupos); 
    while (
$rows_grupos mysql_fetch_array($result_grupos)){ 
    
$id_grupo=$rows_grupos['usergroupid']; 
/* 
En este código de arriba lo que hago es tomar los grupos de usuario 10, 11, 15, 16, 17, 20, 24, 25 y 26 que son los me interesan. El problema parece ser como tomar los usuarios que pertenecen a varios grupos a la vez y están separados por "comas". Tengan en cuenta que ningun usuario que pertenezca a estos grupos puede pertener a otro. O sea, si hay un usuario que está en el 10, no puede pertenecer NUNCA a los demás numeros que tomo para armar el listado (aclaro esto porque por ahi con alguna exclusion o algo así pueden solucionar lo de tomar los datos separados por comas de alguna manera). 
*/ 
    
?> 
<h1><? echo $rows_grupos['title']; ?></h1> 
<table> 
    <? 
    $sql_usuarios
="select * from mst_user WHERE membergroupids='$id_grupo'"
    
$result_usuarios=mysql_query($sql_usuarios); 
    while (
$rows_usuarios mysql_fetch_array($result_usuarios)){ 
    
$id_usuario=$rows_usuarios['userid']; 
     
            
$sql_accesorios="select * from mst_userfield WHERE userid='$id_usuario'"
            
$result_accesorios=mysql_query($sql_accesorios); 
            while (
$rows_accesorios mysql_fetch_array($result_accesorios)){  
/* 
En este código de arriba lo que hago es tomar de los usuarios los accesorios de cada uno (siguiendo el ejemplo anterior que postee). 
*/ 

            
?> 
      <tr> 
        <td><p><? echo $rows_usuarios['username']; ?></p></td> 
        <td><p><? echo $rows_accesorios['field2']; ?></p></td> 
/* 
Acá lo que hace el código es mostrar en la tabla los usuarios y el field2 de los perfiles de usuarios (en mi caso del ejemplo cada usuario puede poner la marca de botines que usa).  
*/         
         
      </tr> 
    <? }} ?>   
</table> 
<? ?> 
</div> 
<? mysql_close(); ?> 
</body> 
</html>

Etiquetas: lista, sql, vbulletin
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 22:16.