Salve a tutti, ho un problema serio che da solo non riesco a risolvere per mancaza di conoscenza approfondita dei DB. Lo potrei risolvere da codice, ma credo che non sia la soluzione più performante, quindi chiedo a voi.
Prima domanda: ma le stored procedure ritornano anche delle intere tabelle, sulle quali poi posso applicare delle query da PHP (come le viste)?
Se la risposta è no... inutile leggere oltre, ma spero di si
Premetto che il manuale che c'è sul sito l'ho letto... ma c'ho capito poco, nel senso che ho capito ma non so come utilizzare le nozioni per il mio problema.
Facciamo un esempio per parlare tutti della stessa cosa:
---------------------------------------------------------------------
TABELLA UTENTI
id_utente int(10) autoincrement
nome char(255)
cognome char(255)
_AUTORE int(10)
---------------------------------------------------------------------
TABELLA CATEGORIE
id_cat int(10) autoincrement
categoria char(255)
---------------------------------------------------------------------
TABELLA APPOGGIO
id int(10) autoincrement
id_utente int(10)
id_cat int(10)
---------------------------------------------------------------------
TABELLA PERMESSI
id int(10) autoincrement
_AUTORE int(10)
id_cat int(10)
leggi int(1)
scrivi int(1)
---------------------------------------------------------------------
Il tutto per avere degli utenti che possono leggere o scrivere su una rubrica in base alle categorie.
Ogni utente può essere associato a più categorie.
Ogni utente ha dei permessi di lettura e scrittura in base alla categoria. Es: un utente può leggere e scrivere tutte le categorie ed un altro solo una delle molte.
A dire il vero ci sarebbero anche altri casi, ma voglio semplificare, poi mi arrangio se capisco come si fa.
Posso creare una procedura che come risultato mi ritorna una tabella con i dati utente passandogli l'id dell'utente che sta utilizzando la procedura?
ES: io mi logo -> ho un id_utente -> la procedura legge il primo utente -> seil primo utente appartiene ad una categoria che io posso vedere lo aggiunge alla tabella -> passa al secondo -> etc....
Dite che si può fare?


Rispondi quotando
