Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    216

    collegare un utente ad un ordine

    Ciao, ho 3 tabelle: registrazione_utenti, carrello(tabella provvisoria) e ordini.

    CREATE TABLE `registrazione_utenti` (
    `id_utente` int(11) NOT NULL auto_increment,
    `cognome` varchar(50) NOT NULL default '',
    `nome` varchar(50) NOT NULL default '',
    `indirizzo` varchar(40) NOT NULL default '',
    `cap` varchar(5) NOT NULL default '',
    `città` varchar(10) NOT NULL default '',
    `provincia` varchar(2) NOT NULL default '',
    `sesso` varchar(1) NOT NULL default '',
    `telefono` varchar(15) NOT NULL default '',
    `email` varchar(30) NOT NULL default '',
    `username` varchar(30) NOT NULL default '',
    `password` varchar(32) NOT NULL,
    PRIMARY KEY (`id_utente`)
    )


    CREATE TABLE `carrello` (
    `id_carrello` int(11) NOT NULL auto_increment,
    `codice` varchar(10) NOT NULL default '',
    `nome` mediumtext NOT NULL default '',
    `descrizione` mediumtext NOT NULL default '',
    `prezzo` varchar(8) NOT NULL default '',
    PRIMARY KEY (`id_carrello`)
    )

    CREATE TABLE `ordini` (
    `id_ordini` int(11) NOT NULL auto_increment,
    `codice` varchar(10) NOT NULL default '',
    `nome` mediumtext NOT NULL default '',
    `descrizione` mediumtext NOT NULL default '',
    `prezzo` varchar(8) NOT NULL default '',
    `quantità` varchar(5) NOT NULL default '',
    PRIMARY KEY (`id_ordini`)
    )


    Come posso fare in modo da collegare un ordine ad un utente specifico?

  2. #2
    Credo di non aver capito bene la domanda, perchè la risposta è troppo semplice...

    Basta mettere un campo id_utente all'interno della tabella ordine, no?

  3. #3
    Nella tabella 'ordini' inserisci un campo 'id_utente' e relazioni le due tabelle tramite questo campo, in modo che in questo venga inserito l'id del'utente che effettua l'ordine.

    Spero di essere stato chiaro.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    216
    Quindi devo fare così, giusto?

    CREATE TABLE `carrello` (
    `id_carrello` int(11) NOT NULL auto_increment,
    `id_utente` int(11) NOT NULL,
    `codice` varchar(10) NOT NULL default '',
    `nome` mediumtext NOT NULL default '',
    `descrizione` mediumtext NOT NULL default '',
    `prezzo` varchar(8) NOT NULL default '',
    PRIMARY KEY (`id_carrello`),
    KEY (`id_utente`)
    )

    CREATE TABLE `ordini` (
    `id_ordini` int(11) NOT NULL auto_increment,
    `id_utente` int(11) NOT NULL,
    `codice` varchar(10) NOT NULL default '',
    `nome` mediumtext NOT NULL default '',
    `descrizione` mediumtext NOT NULL default '',
    `prezzo` varchar(8) NOT NULL default '',
    `quantità` varchar(5) NOT NULL default '',
    PRIMARY KEY (`id_ordini`),
    KEY (`id_utente`)
    )

  5. #5
    Utente di HTML.it L'avatar di hyb
    Registrato dal
    Aug 2003
    Messaggi
    424
    NO

    UTENTI è collegato a ORDINI (1 A MOLTI). Ordini è collegato a Carrello (1 a MOLTI)

    Se non usi INNOdb di Mysql non devi fare cose particolari , non puoi creare una chiave esterna.
    Puoi persino dichiararlo come normale campo (unique o indicizzato) - sari tu a livello applicativo a dover far rispettare l'integrità referenziale.
    C'è chi si mette degli occhiali da sole, per avere più carisma e sintomatico mistero.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.