[mysql] organizzazione del db

ciao,

dunque io un DB con le tabelle:

tbl_categoria

tbl_prodotto

quando inserisco un nuovo prodotto, seleziono da un menu a tendina la categoria di appartenenza e compilo il form del prodotto. fin qua tutto ok.

adesso ho l'esigenza di aggiungere una tabella lingua, perchè il prodotto in questione potrebbe essere pubblicato in più lingue, ma queste lingue non le conosco, quindi ho dei campi form da compilare con i nomi delle lingue.

il problema è adesso come legare l'id del prodotto alla lingua, dato che sto inserendo il prodotto e le lingue contemporaneamente....

devo inserire prima il prodotto e in un secondo momento la lingua?

 :D

inviato 10 anni fa
iTek
iTek
1
X 0 X

forse dovresti prima realizzare un form per memorizzare le varie lingue e poi nel form dei prodotti presentare con un menù a tendina le ligue disponibili.

Ovviamente le lingue andrebbero memorizzate in una tabella, con relativo id

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

ok, io ho la tabella lingue:

id_lingua

id_prodotto

nome_lingua

dato che posso avere più lingue per un prodotto, non posso inserire l'id_lingua nella tabella prodotti ma il contrario, cioè l'id_prodotto nella tabella lingua..giusto?

ma dato che una lista di lingue le devo inserire prima di inserire il prodotto, l'id_prodotto della tabella lingue sarà vuoto.

quindi poi, quando compilo il form del prodotto, dovrò fare un UPDATE per inserire l'id_prodotto nella tabella lingue...giusto?

risposto 10 anni fa
iTek
iTek
1
X 0 X

allora, ti servono altre  2 tabelle:

LINGUA: lingua_id, lingua_nome

PROD-LING: id_lingua, id_prodotto

prima memorizzi tutte le lingue in LINGUA, poi le lingue associate ad un prodotto in PROD-LING

Ok?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

susa se rispondo adesso e soprattutto se rompo le palle.... ::)

nel frattempo ho studiato come ricavare da una select multiple, gli id_lingua proveniente dalla tabella LINGUA.

nel form di inserimento dei prodotti, ho la select multiple con le lingue disponibili.

ora come dici, al submit inserisco il prodotto ( nella tabella prodotti) e le lingue ( nella tabella PROD-LING)

Quello che il mio piccolo cervello, ancora non ha capito è il seguente:

come faccio a sapere qual'è l' id_prodotto da associare alle lingue nella tabella PROD-LING se entrambi li sto inserendo nello stesso momento??

scusa se insisto... :(

risposto 10 anni fa
iTek
iTek
1
X 0 X

quando mostri il form di inserimento, il prodotto è stato già scelto? Oppure vine scelto attraverso il form?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

no parlo dell'inserimento del prodotto, quindi all'inserimento del prodotto devo associare le lingue presenti nella <select> del form del prodotto.

risposto 10 anni fa
iTek
iTek
1
X 0 X

ok, allora quando elabori i dati provenienti dal form di inserimento del prodotto per prima cosa inserisci il prodotto nella sua tabella.

Dopo aver fatto la insert richiama la funzione mysql_insert_id() per scoprire l'ID che è stato appena assegnato al prodotto.

Poi inserisci le associazioni prodotto_id - lingua_id nella tabella apposita.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda