Ciao, esiste già una tabella, wp_usermeta
, apposta per contenere dati aggiuntivi degli utenti. Inoltre sono presenti funzioni apposite per le operazioni CRUD:
update_user_meta()
delete_user_meta()
add_user_meta()
maggiori info https://developer.wordpress.org/plugins/users/working-with-user-metadata/
ciao
-
Questa risposta è stata modificata 5 anni, 3 mesi fa da
MassimoM.
Chi ha creato la discussione
lucio1980
(@lucio1980)
ok quindi potrei usare questa singola tabella per salvare i dati aggiuntivi di più utenti. Provo a vedere se riesco a popolare come vorrei la tabella in questione. Grazie, ciao
Chi ha creato la discussione
lucio1980
(@lucio1980)
wp_usermetea può essermi utile però per inserire tutti i dati che mi servono dovrei inserire un array con molti elementi nel campo value. Per bypassare questa difficoltà (che mi rallenterebbe un po’ il lavoro) a questo punto tornerei a chiedere se è consigliabile o comunque accettabile la pratica di creare una tabella per ogni utente in cui poter inserire tutti questi dati.
-
Questa risposta è stata modificata 5 anni, 3 mesi fa da
lucio1980.
Ciao, quella che ti ho indicato è la pratica consigliabile. Poi dipende dalle tue necessità, quandi dati aggiuntivi devi inserire, quanti utenti prevedi di gestire, ecc, ecc.
Comunque creare una tabella per ogni utente non mi sembra una buona idea. Al limite crei UNA tabella aggiuntiva e all’interno inserisci gli utenti con i dati aggiuntivi.
Devi tenere presente che dovrai scrivere le tue query per le operazioni CRUD su quella tabella, e non puoi usare quelli di wp che sono ottimizzate anche in termini di performance.
Puoi cominciare da qui
https://codex.wordpress.org/Class_Reference/wpdb
Chi ha creato la discussione
lucio1980
(@lucio1980)
Ah pensavo che potevo usare comunque quelle funzioni una volta che la tabella veniva inserita nel database.
Comunque sintetizzo quello che dovrei fare. Per ogni utente ho un certo un numero di liste che contengono a loro volta dei nominativi.
Cioè sarebbe utente i-esimo collegato a N clienti organizzati in M liste.
Quindi metterei come campi della tabella: ID utente, nome-cognome-email clienti, lista 1, lista 2, …., lista M. Per associare i clienti alle diverse liste metterei un valore distintivo sotto il campo della lista a cui appartiene.
Per distingure nelle query tra, ad esempio, lista 1 di utente 1 e di utente 2 utilizzerei gli ID degli stessi.
Se questa cosa la potessi fare anche usando la sola wp_usermeta sarebbe ok, ma dovrei inserire tutti i dati dei clienti (per lista) in un singolo value.
-
Questa risposta è stata modificata 5 anni, 3 mesi fa da
lucio1980.
-
Questa risposta è stata modificata 5 anni, 3 mesi fa da
lucio1980.
Ciao, darti una risposta su cos’è meglio fare o meno, è difficle, ci sono troppe variabili da considerare e non sapendo tutta la logica dell’applicazione che devi sviluppare diventa difficile se non impossibile dire cos’è meglio fare.
Poss solo dare dei consigli che sono:
- Leggi con attenzione i link che ti ho inviato prima,
- Considera che il campo
meta_value
della tabella wp_usermeta
e di tipo longtext
il che significa che puoi inserire fino a 4gb di dati (fonte: https://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html).
- Se crei una tabella nuova per i dati aggiuntivi degli utenti devi far corrispondere i dati agli utenti registrati in Wp con i loro ID già presenti.
- Nome email e cognome per gli utenti sono già gestiti da WP.
ti lascio altri due link per approfondire l’argomento DB e WordPress.
WordPress Database Description
Create Table with Plugins
ciao
Chi ha creato la discussione
lucio1980
(@lucio1980)
grazie per i consigli (e per i link).
Comunque ho corretto dove avevo scritto ‘Per associare gli utenti alle diverse liste’ perchè volevo dire ‘per associare i clienti alle diverse liste’.