Grazie,
ne approfitto per chiederti un'altra cosa, non c'entra molto ma mi scoccia aprire una nuova discussione.
Se io ho questo database:
Codice PHP:
CREATE TABLE `componenti` (
`ID` VARCHAR(4) NOT NULL,
`anno` INT(4) NOT NULL,
`produttore` VARCHAR(30) NOT NULL,
`nome` VARCHAR(40) NOT NULL,
PRIMARY KEY (`ID`)
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;
CREATE TABLE `cpu_tab` (
`componenti_ID` VARCHAR(4) NOT NULL COLLATE 'utf8_unicode_ci',
`socket` VARCHAR(5) NOT NULL COLLATE 'utf8_unicode_ci',
`codename` VARCHAR(20) NOT NULL COLLATE 'utf8_unicode_ci',
`architettura` VARCHAR(3) NOT NULL COLLATE 'utf8_unicode_ci',
`clock` INT(4) UNSIGNED NOT NULL,
`score` INT(6) NULL DEFAULT NULL,
`corenum` INT(2) NOT NULL,
`threadsnum` INT(2) NOT NULL,
`l2cache` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
`l3cache` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
PRIMARY KEY (`componenti_ID`),
CONSTRAINT `FKcpu_tab` FOREIGN KEY (`componenti_ID`) REFERENCES `componenti` (`ID`) ON DELETE CASCADE
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;
e voglio aggiungere una tabella di questo tipo
Codice PHP:
CREATE TABLE `psu_tab` (
`componenti_ID` VARCHAR(4) NOT NULL COLLATE 'utf8_unicode_ci',
`modulare` BOOLEAN NOT NULL COLLATE 'utf8_unicode_ci',
`moboconnectors` VARCHAR(30) NOT NULL COLLATE 'utf8_unicode_ci',
`cpuconnectors` VARCHAR(30) NOT NULL COLLATE 'utf8_unicode_ci',
`vgaconnectors` VARCHAR(30) NOT NULL,
`nsata` INT(3) NULL DEFAULT NULL,
`nmolex` INT(3) NOT NULL,
`wattaggio` INT(4) NOT NULL,
`maxefficiency` VARCHAR(4) NOT NULL COLLATE 'utf8_unicode_ci',
`pluscertification` VARCHAR(10) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
`twelveVout` VARCHAR(5) NULL DEFAULT NULL COLLATE 'utf8_unicode_ci',
PRIMARY KEY (`componenti_ID`),
CONSTRAINT `FKcpu_tab` FOREIGN KEY (`componenti_ID`) REFERENCES `componenti` (`ID`) ON DELETE CASCADE
)
COLLATE='utf8_unicode_ci'
ENGINE=InnoDB;
Non funziona probabilmente per il campo componenti_ID uguale alla tabella precedente.
Adesso cambiare il nome, non mi costa nulla se non fosse che non so come fare per la query
che è questa:
Codice PHP:
"SELECT * FROM $table as o, $table2 as c WHERE o.ID=c.componenti_ID AND (produttore LIKE '%$text%' OR nome LIKE '%$text%' )"
come puoi vedere si basa su un join su due campi di cui do per scontato di conoscere, quindi io speravo di riuscire ad usare questa query per tutte le tabelle se no mi ritrovo a gestire un macello di if(non saprei come farlo diversamente) e una query per ogni tabella.
Consigli? 
EDIT: ho fatto un'emerita ca****
ho scritto `FKcpu_tab` anche sulla seconda tabella invece di FKpsu_tab .-.