Dakle, imam tabelu u kojoj čuvam sve informacije o domenima i koja u sebi sadrži sledeće atribute:
CREATE TABLE `domains` (
`id` integer NOT NULL auto_increment PRIMARY KEY,
`domain_name` varchar(50),
`domain_type` varchar(20),
`admin_first` varchar(25),
`admin_last` varchar(25),
`admin_address` varchar(60),
`admin_phone` varchar(40),
`admin_email` varchar(40),
`tech_first` varchar(25),
`tech_last` varchar(25),
`tech_address` varchar(60),
`tech_phone` varchar(40),
`tech_email` varchar(40),
`date_reg` date,
`date_exp` date,
`registrar` varchar(50),
`main_ip` varchar(60),
`sec_ip` varchar(60),
`main_name` varchar(60),
`sec_name` varchar(60),
`host` varchar(60),
`user` varchar(35),
`pass` varchar(35),
`date_pur` date,
`price_pur` DECIMAL(9,2),
`date_sold` date,
`price_sold` DECIMAL(9,2),
`sold_who` varchar(60),
`date_offers` date,
`price_offers` DECIMAL(9,2),
`offers_who` varchar(60),
`notes` TEXT,
`category` varchar(30)
);
ono sto treba da uradim je da ih preraspodelim, da svaka grupa atributa bude u zasebnoj tabeli (ne pitajte me zasto!) poput ovoga:
TABLE 'domain'
`domain_name` varchar(50) default NULL,
`domain_type` varchar(20) default NULL,
TABLE 'admin_contact'
`admin_first` varchar(25) default NULL,
`admin_last` varchar(25) default NULL,
`admin_address` varchar(60) default NULL,
`admin_phone` varchar(40) default NULL,
`admin_email` varchar(40) default NULL,
TABLE 'tech_contact'
`tech_first` varchar(25) default NULL,
`tech_last` varchar(25) default NULL,
`tech_address` varchar(60) default NULL,
`tech_phone` varchar(40) default NULL,
`tech_email` varchar(40) default NULL,
TABLE 'date'
`date_reg` date default NULL,
`date_exp` date default NULL,
TABLE 'location'
`registrar` varchar(50) default NULL,
`main_ip` varchar(60) default NULL,
`sec_ip` varchar(60) default NULL,
`main_name` varchar(60) default NULL,
`sec_name` varchar(60) default NULL,
TABLE 'access'
`host` varchar(60) default NULL,
`user` varchar(35) default NULL,
`pass` varchar(35) default NULL,
TABLE 'money'
`date_pur` date default NULL,
`price_pur` decimal(9,2) default NULL,
`date_sold` date default NULL,
`price_sold` decimal(9,2) default NULL,
`sold_who` varchar(60) default NULL,
`date_offers` date default NULL,
`price_offers` decimal(9,2) default NULL,
`offers_who` varchar(60) default NULL,
TABLE 'category'
`category` varchar(30) default NULL,
TABLE 'notes'
`notes` text
(atributi i sintaksa su nebitni, bitno je da skapirate o čemu pričam) - ono što me zanima je na koji način je najlakše da to odradim, bez potrebe da celu aplikaciju modifikujem iz korena - npr. stvari poput unosa iz forme, koji su do sada isli principom
Code:
$conn=mysql_connect("localhost", "stdlib", "stdin");
if (!$conn) die ("Could not connect to database.");
mysql_select_db("stdlib_domains",$conn) or die ("Could not open database.");
$query = "INSERT INTO `domains` (`domain_name`,`domain_type`,`admin_first`,`admin_last`,`admin_address`,
`admin_phone`,`admin_email`,`tech_first`,`tech_last`,`tech_address`,
`tech_phone`,`tech_email`,`date_reg`,`date_exp`,`registrar`,`main_ip`,
`sec_ip`,`main_name`,`sec_name`,`host`,`user`,`pass`,`date_pur`,
`price_pur`,`date_sold`,`price_sold`,
`sold_who`,`date_offers`,`price_offers`,`offers_who`,`notes`,
`category`) VALUES('$domain_name','$domaintype','$admin_first','$admin_last','$admin_address',
'$admin_phone','$admin_email','$tech_first','$tech_last','$tech_address',
'$tech_phone','$tech_email','$date_reg','$date_exp','$registrar','$main_ip',
'$sec_ip','$main_name','$sec_name','$host','$user','$pass','$date_pur','$price_pur',
'$date_sold','$price_sold',
'$sold_who','$date_offers','$price_offers','$offers_who','$notes','$category')";
$result=mysql_query($query);
mysql_close();
$conn=mysql_connect("localhost", "stdlib", "stdin");
if (!$conn) die ("Could not connect to database.");
mysql_select_db("stdlib_domains",$conn) or die ("Could not open database.");
$query = "INSERT INTO `domains` (`domain_name`,`domain_type`,`admin_first`,`admin_last`,`admin_address`,
`admin_phone`,`admin_email`,`tech_first`,`tech_last`,`tech_address`,
`tech_phone`,`tech_email`,`date_reg`,`date_exp`,`registrar`,`main_ip`,
`sec_ip`,`main_name`,`sec_name`,`host`,`user`,`pass`,`date_pur`,
`price_pur`,`date_sold`,`price_sold`,
`sold_who`,`date_offers`,`price_offers`,`offers_who`,`notes`,
`category`) VALUES('$domain_name','$domaintype','$admin_first','$admin_last','$admin_address',
'$admin_phone','$admin_email','$tech_first','$tech_last','$tech_address',
'$tech_phone','$tech_email','$date_reg','$date_exp','$registrar','$main_ip',
'$sec_ip','$main_name','$sec_name','$host','$user','$pass','$date_pur','$price_pur',
'$date_sold','$price_sold',
'$sold_who','$date_offers','$price_offers','$offers_who','$notes','$category')";
$result=mysql_query($query);
mysql_close();
pretpostavljam da će zahtevati izvršavanje devet kverija, za svaku tabelu po jedan (?), međutim, ne znam šta da radim sa stvarima poput listanja svih atributa iz svih tabela, što je bilo prilično jednostavno s jednim kverijem poput
Code:
$querylist= "SELECT * FROM domains order by `domain_name`";
$querylist= "SELECT * FROM domains order by `domain_name`";
Da li postoji jednostavnije rešenje u odnosu na to da posle "seckanja" tabele na više njih moram da koristim relacije i da ih izpovezujem, jer em što nikada nisam radio sa relacijama u mySQL-u tj. da budem iskren, nikada nisam izlistavao/manipulisao zapisima iz više, a kamoli devet tabela, em što mislim da ću da poludim sa silnim integritetima koje treba da održim u tih devet relacija - jel postoji neki lakši način ili moram celu aplikaciju da pišem ispočetka, uzimajući u obzir integritete svih ovih entiteta i koristeći prirodno spajanje tabela? Ako nema 'leba bez relacija, sugestija kako najbolje da ih ispovezujem (preko čega? id-a?) da bih mogao najlakše da ih listam/editujem/ubacujem podatke u sve ove tabele uz neki PHP/SQL kod kako to da izvedem (prevashodno kreiranje relacije + listanje svih zapisa iz svih tabela, ostalo [add/delete/modify] ne bi trebalo da bude problem, ako se svodi na izvršavanje devet INSERT into tabela1...tabela9 VALUES .../DELETE ... where id=$id/UPDATE ... where id=$id kverija, za svaku tabelu pojedinačno) bi mi više nego dobro došla!
Pozdrav!