Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.www.php > #21976

Re: Associare caratteristiche identiche a prodotti diversi

From Alessandro Pellizzari <shuriken@amiran.it>
Newsgroups it.comp.www.php
Subject Re: Associare caratteristiche identiche a prodotti diversi
Date 2018-04-13 10:31 +0100
Message-ID <fjbbnaFi55eU1@mid.individual.net> (permalink)
References <papqf5$5pj$1@virtdiesel.mng.cu.mi.it>

Show all headers | View raw


On 13/04/2018 09:41, GabrieleMax wrote:

> Nel creare una tabella in mysql ci sarebbe l'esigenza di associare 
> caratteristiche simili (pensiamo agli ingredienti dei prodotti che si 
> comprano al supermercato) a prodotti diversi.

> Ad esempio in una tabella potrei inserire i valori "zucchero", "sale", 
> "farina", etc. e nel momento in cui inserisco un prodotto dovrei 
> associargli/inserire più valori (ovvero più ingredienti) obbligando però 
> l'utente a scegliere tra quelli disponibili.

Sempre lo stesso trucco della tabella intermedia per le relazioni n:n
Con l'aggiunta che, nella stessa tabella, puoi mettere informazioni 
aggiuntive.

Per esempio:

create table prodotto_ingrediente (id_prod int, id_ingr int, qta text);

insert into prodotto_ingrediente values(123, 456, "100g")

> Inserire gli ingredienti in un'apposita tabella mi permetterebbe anche 
> di tradurli in lingue diverse però credo che non si potrà lavorare a 
> livello di db ad esempio con delle FK per avere vincoli di integrità ma 
> bisognerà agire direttamente con uno script php che legga e proponga i 
> valori della tabella ingredienti.

Definisci una tabella di ingredienti come "master language" (di solito 
inglese) e la fai come ho detto sopra.

Poi definisci le tabelle di traduzione.

create table ingredients(id primary key, name text, description text);

create table ingredients_it_IT(id int references ingredients(id), name 
text, description text)

Nota che l'id in quella di traduzione non è primary key, nè 
auto_increment: viene assegnata allo stesso valore della tabella 
ingredienti originale.

In questo modo puoi avere il fallback della lingua automaticamente:

select i.id, i.name, i.description, t.name as name_it, t.description as 
description_it from ingredients i left join ingredients_it_IT t on 
(i.id=t.id)

Da PHP, se name_it è null, prendi name, e lo stesso con description.

Puoi anche fare (left) join multilpe per avere tutte le traduzioni allo 
stesso tempo, ma questo te lo lascio come esercizio per casa. :P

Bye.

Back to it.comp.www.php | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Associare caratteristiche identiche a prodotti diversi GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-04-13 10:41 +0200
  Re: Associare caratteristiche identiche a prodotti diversi Alessandro Pellizzari <shuriken@amiran.it> - 2018-04-13 10:31 +0100
    Re: Associare caratteristiche identiche a prodotti diversi GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-04-14 00:01 +0200
  Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-13 16:50 +0200
    Re: Associare caratteristiche identiche a prodotti diversi GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-04-13 23:37 +0200
      Re: Associare caratteristiche identiche a prodotti diversi fmassei@gmail.com - 2018-04-13 15:01 -0700
        Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-14 01:26 +0200
          Re: Associare caratteristiche identiche a prodotti diversi GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-04-14 11:29 +0200
        Re: Associare caratteristiche identiche a prodotti diversi GabrieleMax <gabriele1NOSPAM@hotmail.com> - 2018-04-14 11:25 +0200
          Re: Associare caratteristiche identiche a prodotti diversi fmassei@gmail.com - 2018-04-14 08:31 -0700
      Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-14 13:06 +0200
        Re: Associare caratteristiche identiche a prodotti diversi fmassei@gmail.com - 2018-04-14 08:37 -0700
          Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-14 21:37 +0200
            Re: Associare caratteristiche identiche a prodotti diversi fmassei@gmail.com - 2018-04-15 09:04 -0700
              Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-15 19:42 +0200
                Re: Associare caratteristiche identiche a prodotti diversi fmassei@gmail.com - 2018-04-15 10:52 -0700
                Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-15 22:39 +0200
                Re: Associare caratteristiche identiche a prodotti diversi fmassei@gmail.com - 2018-04-16 06:29 -0700
                Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-16 17:41 +0200
                Re: Associare caratteristiche identiche a prodotti diversi fmassei@gmail.com - 2018-04-16 09:35 -0700
                Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-16 23:28 +0200
                Re: Associare caratteristiche identiche a prodotti diversi fmassei@gmail.com - 2018-04-16 15:51 -0700
                Re: Associare caratteristiche identiche a prodotti diversi Leonardo Serni <lserni@gmail.com> - 2018-04-17 07:40 +0200

csiph-web