在家譜研究中,PHP和MySQL無疑是最好的選擇之一。PHP是一種廣泛使用的服務器端編程語言,而MySQL則是用于管理關系數據庫的最流行的系統之一。通過將這兩個強大的工具組合在一起,研究家譜歷史數據將變得更加輕松和準確。
在PHP中,我們可以使用MySQLi擴展來連接和操作MySQL數據庫。以下是建立與數據庫的連接的示例:
$server = "localhost"; $username = "user1"; $password = "123456"; $database = "myfamily"; $conn = new mysqli($server, $username, $password, $database); if ($conn->connect_error) { die("連接失敗:" . $conn->connect_error); }
上面的代碼將建立連接,如果出現錯誤,則會顯示錯誤信息。
我們可以使用SQL語句在MySQL數據庫中創建“人物表”:
CREATE TABLE person( id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, gender VARCHAR(10) NOT NULL, birthdate DATE NOT NULL, deathdate DATE, father_id INT(11), mother_id INT(11) );
通過運行以上SQL語句,我們將創建一個空的“人物表”,它將包含在家譜研究中使用的人物信息。
在“人物表”中,我們可以插入每個人物的姓名,性別,出生日期,死亡日期以及他們的父母的ID。例如:
INSERT INTO person(id, name, gender, birthdate, deathdate, father_id, mother_id) VALUES('1', 'Yang Guifei', 'female', '716-06-01', '756-07-15', NULL, NULL); INSERT INTO person(id, name, gender, birthdate, deathdate, father_id, mother_id) VALUES('2', 'Li Shimin', 'male', '598-09-28', '649-07-10', NULL, NULL); INSERT INTO person(id, name, gender, birthdate, deathdate, father_id, mother_id) VALUES('3', 'Li Jiancheng', 'male', '601-11-25', '626-07-02', '2', NULL); INSERT INTO person(id, name, gender, birthdate, deathdate, father_id, mother_id) VALUES('4', 'Li Yuanji', 'male', '589-03-20', '618-02-24', '2', NULL); INSERT INTO person(id, name, gender, birthdate, deathdate, father_id, mother_id) VALUES('5', 'Empress Zhangsun', 'female', '601-11-27', '636-02-28', NULL, NULL); INSERT INTO person(id, name, gender, birthdate, deathdate, father_id, mother_id) VALUES('6', 'Li Zhi', 'male', '628-07-26', '683-12-23', '2', '5'); INSERT INTO person(id, name, gender, birthdate, deathdate, father_id, mother_id) VALUES('7', 'Wu Zetian', 'female', '624-02-17', '705-12-16', '3', '5'); INSERT INTO person(id, name, gender, birthdate, deathdate, father_id, mother_id) VALUES('8', 'Li Hong', 'male', '652-07-15', '675-02-02', '7', NULL);
在這個例子中,我們向“人物表”中插入了八個人物,其中兩個女性和六個男性。我們還在表中包含了他們的ID,姓名,性別,出生日期,死亡日期和父母的ID。
我們可以使用SELECT語句在“人物表”中檢索人物信息。例如,我們可以檢索出ID為7的人物的姓名和出生日期:
SELECT name, birthdate FROM person WHERE id = 7;
上述SQL語句將返回“Wu Zetian”的姓名和出生日期。
使用PHP和MySQL,我們可以輕松創建一個強大而動態的家譜管理系統。我們不僅能夠精確地記錄每個人物的信息,還能夠將整個家譜作為一個圖表來展示。家譜研究將成為一個更加有趣和富有挑戰的領域。
下一篇java輸入和輸出筆記