faretesto > comp.www.* > comp.www.php

^Bart (13.07.2019, 00:02)
Salve,

mi spiego meglio, ipotizziamo di voler inserire dei tag per la categoria
ristoranti tipo "vista mare", "pesce", "carne", "comitive", "romantico",
etc. senza lasciare al ristoratore la possibilità di scrivere lui ma
proponendo dei tag già stabiliti?

Ho ipotizzato tre tabelle:

restaurants
---------------
id_restaurant
name

tags
---------------
id_tag
name

restauranttags
--------------
id_restauranttag
FK_id_restaurant
FK_id_tag

Forse è la scelta più banale e semplice e di sicuro ci sarà qualcosa di
più raffinato ma in questo modo di sicuro garantisco integrità al db ed
evito che gli utenti possano fare "di testa loro"! :)

Saluti.
^Bart
bramante (13.07.2019, 21:48)
Il 13/07/19 00:02, ^Bart ha scritto:
[..]
> evito che gli utenti possano fare "di testa loro"! :)
> Saluti.
> ^Bart


Ciao

Solo un appunto che dipende dal tuo obbiettivo, se hai la necessità di
fare solo dei tag la soluzione che hai adottato va bene ed è la più
semplice da gestire/manutenere,

volendo se non vuoi utilizzare una terza tabella potresti anche
concatenare i tag delimitati da un carattere tipo ";" e successivamente
estrai l'array con il comando

$tag = explode(";", $list_tag);

e nel db:

restaurants
---------------
id_restaurant
name
list_tag

se la tua necessità invece è di filtrare per "cucina", "tipologia",
"servizi"

* cucina
carne
pesce
vegetariano
ecc..

* tipologia
affari
romantico
comitive
cerimonie
ecc..

* servizi
vista mare
parcheggio
lume di candela
aria condizionata
carta di credito
sala privata
ecc..

ti consiglio di fare N tabelle invece di una generica TAG

io per un progetto ho avuto la necessità di filtrare per le voci
indicate sopra.

ma ripeto, dipende dalla tua applicazione.

Saluti
bramante (13.07.2019, 21:52)
Il 13/07/19 21:48, bramante ha scritto:
[..]
>   sala privata
>   ecc..
> ti consiglio di fare N tabelle invece di una generica TAG


oppure

aggiungere

tags
---------------
id_tag
name
type_tag (appunto cucina, tipologia, servizi, ecc)
[..]
^Bart (13.07.2019, 23:11)
> Solo un appunto che dipende dal tuo obbiettivo, se hai la necessità di
> fare solo dei tag la soluzione che hai adottato va bene ed è la più
> semplice da gestire/manutenere,


Ok!

> volendo se non vuoi utilizzare una terza tabella potresti anche
> concatenare i tag delimitati da un carattere tipo ";" e successivamente
> estrai l'array con il comando
> $tag = explode(";", $list_tag);
> e nel db:
> restaurants
> ---------------
>  id_restaurant
>  name
>  list_tag


Non avevo pensato al discorso array! :)

[..]
>   sala privata
>   ecc..
> ti consiglio di fare N tabelle invece di una generica TAG


Ottima osservazione, alla fin fine visto che la gente cerca il pelo
nell'uovo avere una distinzione per tipologia di tag è molto
interessante e se affrontata da subito evita parecchie "beghe" dopo! :)
> io per un progetto ho avuto la necessità di filtrare per le voci
> indicate sopra.
> ma ripeto, dipende dalla tua applicazione.


Chiarissimo, ma la soluzione che hai adottato come ti dicevo è ottima!

> Saluti


Saluti!
^Bart
^Bart (13.07.2019, 23:12)
> oppure
> aggiungere
>  tags
>  ---------------
>  id_tag
>  name
>  type_tag (appunto cucina, tipologia, servizi, ecc)


Capito! :)

Saluti!
^Bart
fmigliori (21.07.2019, 20:16)
>restaurants
>---------------
> id_restaurant


Mi meraviglio di te, Bramante!
Sta cosa non si può vedere.
Discussioni simili