Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Agregar usuarios a un grupo determinado, teniendo una consulta SQL que determina a cuáles hay que aplicarlo

Foro de charla No Soporte.
📌 Aquí Debates sobre phpBB.


Responder
Avatar de Usuario
karbiko
Moderador
Mensajes: 768
Registrado: 27 Jun 2008, 22:44
Género:
Edad: 57

Agregar usuarios a un grupo determinado, teniendo una consulta SQL que determina a cuáles hay que aplicarlo

#1

Mensaje por karbiko »

Bueno, os explico.
Tengo un montón de usuarios pertenecientes a un grupo determinado que no me han rellenado un campo personalizado que he creado.
La consulta que me saca el listado de esos usuarios es esta:

SELECT DISTINCT U.user_id, U.username FROM phpbb_users U, phpbb_profile_fields_data F WHERE (U.user_id = F.user_id) AND (U.group_id=7) AND (F.pf_mail_rc="");

De la tabla php_users me da el número de usuario y su nombre cuando coinciden los id en las tablas phpbb_users (la renombro U)y phpbb_profile_fields_data (a la que renombro F), y además esos users pertenecen al grupo 7 en la tabla U y han dejado vacío el campo pf_mail_rc en la tabla F.

Vale, me saca un listado correctamente de los usuarios.

Ahora quiero que esos usuarios sean agregados a un grupo que los va a identificar y que será el número 26...
No tiene que ser el grupo predeterminado. Me vale con que pertenezcan también a este grupo, además del que ya tienen ahora mismo como predeterminado.

¿Para qué lo quiero? Porque con la ext Board Notices Manager voy a hacer un mensaje específico para estos usuarios, de manera que cuando se identifiquen, si pertenecen a ese grupo 26 les aparecerá un recordatorio para que rellenen ese campo. Para eso es este lío que estoy montando.... :wink:

He estado buscando la tabla en la que esté el campo que guarda los grupos a los que pertenece un usuario, pero no he dado con ella.

Me imagino que habrá que hacer una consulta UPDATE tabla ,... pero me pierdo. ¿O es in INSERT INTO ....? :shock:

Bueno a ver si me podéis ayudar y me evitáis tener que modificar manualmente esos casi 200 usuarios...

Y así aprendo un poco más :P

URL: https://www.fororegistrocivil.es

Demás datos:

Estilos instalados(s): prosilver, Prosilver Dark Edition, prosilver special edition, proflat (en varios colores), PS4 Pro, Orange_BBEs
Versión instalada: 3.3.3
Extensiones:

Lista de ext instaladas

24 hour activity stats 1.2.3
Add Bot 1.0.1
Add User 1.0.4
Advanced BBCode Box 3.3.1
Advertisement Management 2.0.3
Ajax Base 2.0.0
AJAX Registration Check 1.0.1
Auto Drafts 1.1.3
Avatar resize 1.0.0
Avatars on Memberlist 2.0.0
Ban Hammer 1.0.8
Birthday Cake 1.0.5
Blinking counter, for new pm and new notify 1.0.5
Board Announcements 1.1.0
Board Notices Manager 0.5.5
Breadcrumb Menu 3.1.0
Breizh Ajax Preview 1.1.0
Browse Happy 2.0.2-dev
Browser & OS in Viewtopic 1.0.2
cBB Blockgets 2.0.2
cBB Chat 1.2.1
cBB QuickMod 1.1.2
cBB QuickQuote 1.0.1
Change Post Time 1.0.1
Clipboard Image 2.0.1
Collapsible Forum Categories 2.0.0
Confirm Email 1.0.0
Copyright in footer 1.0.2
Database Optimize & Repair Tool 1.2.0
Default Avatar Extended 1.2.2
Delete My Account 1.0.1
email on birthday 3.1.6
Email List 1.0.3
Extensions .yml check
External Links Open in New Window 1.0.10
File Upload 1.0.4
[3.3][RC] Filter by country 1.0.19
Forumhulp Helper 3.1.15
Genders 1.3.0
gn36 - Version Check Notifier 3.0.1
Google Analytics 1.0.6
Google Translator 1.0.3
Group Template Variables 1.1.0
Happy Anniversary (Email Edition) 0.1.0
Header Banner 3.2.2
Hide Avatar for guests 1.0.1
Hide Bots 1.0.6
[3.2] [RC] Hide Profile Fields to Groups (Any Groups) 1.1.0
HTML email 3.1.7
Imgur 1.6.0
Individual posts per page 1.2.0
Large Font 3.2.3
Last Post Avatar 1.0.3
LF Who Was Here 2 2.0.0
Lightbox 2.0.3
Linked Accounts 2.1.1
List subforums in columns 2.1.0
Live topic update 1.0.2
LMDI Autolinks 1.3.3
LMDI My Topics 1.0.12
Logout Redirect 1.0.1
Magic OGP parser 1.0.6
Mark Post Unread 1.1.1
Mass Notification 1.0.4
National Flags 2.3.0
New Year Decor 0.0.1
No Custom Profile for guests 1.0.2
No DEA Emails 3.3.0
No Notice Delete PM 1.0.0
No quote last post 1.0.1
Notes 2.0.0
Page Scrolling 1.4.0
Password Generator
Password Strength 1.2.3
PayPal Donation Extension 3.0.1 con añadido de cadinev para tener en el portal la barra de progreso de la donación.
phpBB3 SEO Sitemap 1.1.1
phpBB Media Embed PlugIn 1.1.2
phpBB Studio - Google PDF autoembed 1.1.0-beta
phpBB Studio - Topic links 1.0.5-RC
PM Name Suggestions 1.1.3
Poster IP in Viewtopic 1.2.0
Posts merging 3.0.0-dev
Precise Similar Topics 1.5.4
Previous / Next topic 1.0.3
Prime note bbcode 1.1.1
Prime Post Revisions 1.1.0-RC3
Prime User Topics 1.1.3
Profile Field Searchable 1.0.5 Extensión de pago
Quick Style 1.3.5
Quoted where 1.0.3
Red title for new topic and new reply 1.0.3
Remember me checked by default 1.0.0
Remove hidden users 0.1.0
Reset login attempts 1.0.2
Right Header Image 3.2.2
Scroll quoted text 3.2.2
Search user topics 1.0.5
[3.3][RC] Selective mass emails 1.0.10
SEO Metadata 1.4.0
Seo Meta Description 1.0.0
Separate Users and Bots 1.1.0
Share On 2.0.1
Simple mentions 1.0.5
Simple Spoiler BBCode 2.3.2
Smartfeed 3.0.14
Smart Subjects 1.0.0
Smilie Signs 1.0.3
smilies scroll box 1.0.3
Sortables Captcha 2.0.2
Stop Forum Spam 1.3.10
Subscribe topic in footer 1.0.0
Tabbed stat-block 1.0.2
Tables 2.1.4
Telegram Share 0.1.0-b1. Descargable desde este enlace
Thanks for posts 2.0.7
Topic Author 1.0.4
Topic Description 1.0.6
Topic Preview 2.3.2
Topics Hierarchy 2.0.0
Unique Visits Counter 1.0.3
Upload Extensions 3.2.0-RC, con esta actualización para 3.3.0
User Merge 1.0.4
User Posts in a Topic 1.0.1
User Recent Activity 2.1.1
Whatsapp Share 0.1.0-b1. Descargable desde este enlace
Who Visited This Topic 1.0.7
You Me We Us Filter 1.0.1


Deshabilitadas:

Board Rules 2.1.2
Detailed viewonline 1.0.0
Holiday Flare 2.0.1
Markdown 1.4.0
QuickReply Reloaded 2.0.0-beta4
phpBB Studio - Who Read What 1.1.1-RC
Santa Claus Surprise 1.1.0
Snowstorm and Lights 1.0.2
Who Visited This Topic 0.1.0-RC4.1. Descargable desde este enlace

Servidor: VPS OVH Linux Debian 10
Versión PHP: 7.3.27-9+0~20210227.82+debian10~1.gbpa4a3d6
BBDD: MySQL(i) 10.3.27-MariaDB-0+deb10u1
Actualización: desde 3.3.2


Avatar de Usuario
AlfredoRamos
Ex Staff
Mensajes: 1235
Registrado: 14 Ene 2017, 22:18
Género:

Re: Agregar usuarios a un grupo determinado, teniendo una consulta SQL que determina a cuáles hay que aplicarlo

#2

Mensaje por AlfredoRamos »

karbiko escribió: 30 Mar 2021, 22:38

He estado buscando la tabla en la que esté el campo que guarda los grupos a los que pertenece un usuario, pero no he dado con ella.

Los grupos a los que pertenece un usuario (a excepción del predeterminado) están almacenados en la tabla phpbb_user_group.

karbiko escribió: 30 Mar 2021, 22:38

Me imagino que habrá que hacer una consulta UPDATE tabla ,... pero me pierdo. ¿O es in INSERT INTO ....? :shock:

Podrías intentar con la siguiente consulta, aunque ojo, no la he probado ya que no tengo datos en mis tablas similares a los tuyos.

Creo que no es necesario recordar lo importante que es hacer copias de seguridad y preferentemente probarlo en local antes de hacer nada.

Código: Seleccionar todo

INSERT INTO phpbb_user_group (user_id, group_id, user_pending, group_leader)
SELECT DISTINCT U.user_id, 26 AS group_id, 0 AS user_pending, 0 AS group_leader
FROM phpbb_users U, phpbb_profile_fields_data F
WHERE U.user_id = F.user_id
	AND U.group_id = 7
	AND F.pf_mail_rc = "";

La sentencia es tal cual se muestra, el INSERT y el SELECT en la misma consulta.

Lo que hace es (o en teoría debería de hacer) insertar el grupo adicional con ID 26 a los usuarios que devuelva la consulta SELECT, con las condiciones que requieres.

Algunas de mis extensiones:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :see_no_evil: Simple Spoiler BBCode | :shield: hCaptcha
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:


Responder

Volver a “➡️ Charla general”