Problema relazione uno a molti con 3 tabelle

  • Creatore Discussione Creatore Discussione Max61
  • Data di inizio Data di inizio

Max61

Utente Attivo
2 Mar 2014
760
4
18
Buongiorno ho fatto un programma con tre tabelle
-tblanagrafica
-tblsinistri
-tblverbali
che posto


PHP:
-- phpMyAdmin SQL Dump
-- version 4.0.4.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generato il: Mag 19, 2015 alle 09:16
-- Versione del server: 5.6.11
-- Versione PHP: 5.5.3

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Database: `gestionesinistri`
--
CREATE DATABASE IF NOT EXISTS `gestionesinistri` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `gestionesinistri`;

-- --------------------------------------------------------

--
-- Struttura della tabella `tblanagrafica`
--

CREATE TABLE IF NOT EXISTS `tblanagrafica` (
  `idanagrafica` int(11) NOT NULL AUTO_INCREMENT,
  `Nominativo` varchar(255) NOT NULL,
  `Residenza` varchar(255) NOT NULL,
  `Indirizzo` varchar(255) NOT NULL,
  `Cellulare` varchar(255) NOT NULL,
  `TelefonoFisso` varchar(255) NOT NULL,
  `Mail` varchar(255) NOT NULL,
  PRIMARY KEY (`idanagrafica`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Struttura della tabella `tblsinistri`
--

CREATE TABLE IF NOT EXISTS `tblsinistri` (
  `idsinistri` int(11) DEFAULT NULL,
  `tblanagrafica_id` int(11) DEFAULT NULL,
  `Nominativo` varchar(255) NOT NULL,
  `LocalitaSinistro` varchar(255) NOT NULL,
  `CodiceFiscale` varchar(16) NOT NULL,
  `Cellulare` int(255) NOT NULL,
  `TelefonoFisso` int(255) NOT NULL,
  `Mail` varchar(255) NOT NULL,
  `AnnoSinistro` int(4) NOT NULL,
  KEY `par_ind` (`tblanagrafica_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Struttura della tabella `tblverbali`
--

CREATE TABLE IF NOT EXISTS `tblverbali` (
  `idverbali` int(11) DEFAULT NULL,
  `tblanagrafica_id` int(11) DEFAULT NULL,
  `NoteVerbale` varchar(255) NOT NULL,
  `StatoVerbale` varchar(255) NOT NULL,
  `DecisioneGil` text NOT NULL,
  KEY `par_ind` (`tblanagrafica_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Limiti per le tabelle scaricate
--

--
-- Limiti per la tabella `tblsinistri`
--
ALTER TABLE `tblsinistri`
  ADD CONSTRAINT `tblsinistri_ibfk_1` FOREIGN KEY (`tblanagrafica_id`) REFERENCES `tblanagrafica` (`idanagrafica`) ON DELETE CASCADE;

--
-- Limiti per la tabella `tblverbali`
--
ALTER TABLE `tblverbali`
  ADD CONSTRAINT `tblverbali_ibfk_1` FOREIGN KEY (`tblanagrafica_id`) REFERENCES `tblanagrafica` (`idanagrafica`) ON DELETE CASCADE;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

e grazie a marino51, un Utente del forum, sono riuscito a collegarle con la relazione uno a molti, il problema sta nel fatto che dopo aver inserito da form l’utente nella tabella tblanagrafica e vado a inserire sempre da form un sinistro nella tabella sinistri i campi idsinistri e tblanagrafica_id della tabella tblsinistri non assumono alcun valore, ma sono NULL e così anche per la tabella verbali.
Mentre se inserisco manualmente i dati dando gli id giusti alle varie tabelle queste risultano collegate, infatti se cancello un record nella tabella tblanagrafica di conseguenza mi cancella anche il record con lo stesso id nelle altre 2 tabelle.
Con la speranza di essermi spiegato…
Mi potete dare una dritta?

Grazie
Max61
 
puoi postare anche il codice che hai già sviluppato, così non dobbiamo inventare nulla
ma si lavora sul tuo stesso prodotto
ciao
Marino
 
Buongiorno ti invio il pochissimo codice che ho sviluppato, perchè mi sono arenato nelle tabelle e la relazione che vorrei, uno a molti.
Invio inoltre le tabelle
Quelle che vorrei con relazione uno a molti sono:
tblanagrafica
tblsinistri
tblverbali

Grazie
Max61
 

Allegati

Buongiorno ti invio il pochissimo codice che ho sviluppato, perchè mi sono arenato nelle tabelle e la relazione che vorrei, uno a molti.
Invio inoltre le tabelle
Quelle che vorrei con relazione uno a molti sono:
tblanagrafica
tblsinistri
tblverbali

Grazie
Max61


Vorrei riprendere questo argomento, cioè relazionare la tabella 'tblanagrafica' con le altre 2 (tblsinistri e tblverbali).
Ogni nominativo nella tabella 'tblanagrafica' potrà avere più record associati nelle altre due tabelle.
Qualcuno sa aiutarmi?
Grazie
Max61
 

Discussioni simili