Consulta dejó unirse alojamiento Drupal
Publicado por thermalmusic el 14 de marzo de 2012 a las 2:26 am
Estoy intentando escribir una consulta SQL en una base de datos D6 a los usuarios y sus valores de perfil de regresar. Mi problema es conseguir valores de perfil para volver como campos separados (columnas) en las filas resultantes. datos de perfil sólo se guarda en el campo de los valores en la tabla profile_values, como los niños, identificado por FID.
He intentado GROUP_CONCAT pero no es una solución. Perfil módulo csv tampoco es suficiente. Me gustaría tener una salida como esta:
usuario | Nombre | Apellido | Dirección | ciudad | Estado | cremallera | etc |
Si alguien ha hecho esto como una consulta, por favor hágamelo saber.
Publicado por HJulien el 14 de marzo de 2012 a las 24:22
módulo de perfil de contenido me permite añadir todos los campos del perfil que quiero y que están en la base de datos como campos separados por lo que tiene un control total sobre su apariencia, etc.
Perfil contenido de los crea como nodos así que las vistas, suite de pantalla, reglas, etc, pueden ser utilizados. Una cosa que he aprendido es a no utilizar los campos de título y el cuerpo de nombres. Una cosa que he notado es que también hay campos de dirección y por eso me encontré con que el campo ubicación es buena para eso.
Publicado por dalin el 14 de marzo de 2012 a las 13:13
Esta es una de las razones por las que no se utiliza el módulo D6 perfil de edad. Básicamente lo que hay que hacer es añadir múltiples izquierda se une a la mesa profile_values, uno para cada campo que desea extraer. Algo como esto (aunque sólo estoy haciendo esto sin conocer los nombres de los campos exactos)
SELECT u.uid, u.name, u.mail, field_firstname.value como primer nombre, apellido como field_lastname.value
Desde U usuario
LEFT JOIN profile_values como field_firstname EN u.uid = field_firstname.uid Y field_firstname.field_name = 'Nombre'
LEFT JOIN profile_values como field_lastname EN u.uid = field_lastname.uid Y field_lastname.field_name = 'apellido'
--
Dave Hansen-Lange
Gerente técnico
Advomatic LLC
Gran Norte Blanco Oficina
Canadá
Publicado por thermalmusic el 15 de marzo de 2012 a las 2:25 am
dave,
Gracias por el ejemplo. Por desgracia, el módulo de perfil D6 es lo que tengo que trabajar con en este sitio, bla. He intentado lo múltiple une en esa mesa y funciona hasta cierto punto. La consulta implica más tablas, columnas, y se une a esos también, así que estoy tratando de trabajar en. Hay alrededor de 4k usuarios en la base de datos con 7 valores de perfil de cada uno, así que me pregunto si esta consulta utiliza algo de sobrecarga cuando es ejecutado .
Creo que el módulo de perfil núcleo está apoyado por puntos de vista, así que recomiendo usarlo para generar el SQL, o simplemente utilizarlo directamente para extraer lo que necesita. Puede generar archivos CSV (o incluso archivos de Excel) directamente, y el SQL que se genera suele ser tan eficiente como algo que le hace a mano.
Publicado por cjboranp el 14 de marzo de 2012 a las 14:03
¿Tiene que ser SQL?
Podría ser más fácil si se hizo un user_load (UID) y, a continuación, escribió una fila en un archivo plano o en una tabla HTML.
foreach ($ user_id como $ uid) $ tmp_user = user_load ($ uid);
$ Salida. ="
// Añadir el resto de las filas en consecuencia. o DSM ellos para ver sus nombres exactos. Son por lo general el prefijo "_profile"
>
$ Salida. ="
Yo creo que esto es bueno porque se puede escribir esto en un módulo y que puede ser modificado y tal.
Publicado por dalin el 14 de marzo de 2012 a las 14:22
Sin embargo, en user_load D6 () no se almacena en caché, por lo que este método tendrá un costo de rendimiento. En un pequeño sitio con una lista corta de los usuarios probablemente no es muy notable, aunque.
--
Dave Hansen-Lange
Gerente técnico
Advomatic LLC
Gran Norte Blanco Oficina
Canadá
Publicado por lfolta el 14 de marzo de 2012 a las 14:24
(Esta herramienta es gratuita para descargar y usar.)
Business Integration Technology cuenta con una herramienta llamada ICE SQL, el entorno informático de Internet para Experts SQL. Aunque el ICE SQL puede hacer un montón de cosas, uno que pueda ser de interés para los usuarios de Drupal es la capacidad de conectarse a la base de datos de Drupal y escribir consultas de MySQL para obtener informes que se pueden visualizar, descargar y compartir con otros usuarios.
Me organizó un seminario que demostró cómo se puede utilizar SQL ICE para acceder a sus datos de Drupal. Puede ver el vídeo y descargar las consultas que he utilizado aquí:
businessintegrationtechnology.com/SQLICE_Videos.html.
Uno de los ejemplos que mostramos en el seminario es cómo acceder a Drupal Datos de usuario, y la salida se puede descargar como un archivo CSV de la herramienta SQL ICE.
Probarlo y entonces no dude en ponerse en contacto conmigo si tiene alguna pregunta.
Publicado por thermalmusic el 15 de marzo de 2012 a las 2:28 am
Lori,
Esto se ve muy interesante, voy a echar un vistazo y ver si es algo que se puede utilizar.
Gracias,
Steven