|
| 1 | +<!DOCTYPE html> |
| 2 | +<html> |
| 3 | +<head> |
| 4 | +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| 5 | +<title>刘三才后裔刘氏家族族谱树先树后家谱</title> |
| 6 | +<meta name="keywords" content="刘氏族谱,族谱,刘氏家谱,家谱树,爱视传媒"> |
| 7 | +<meta name="description" content="自价、金二祖人川至今已近六百年历史,三才祖之后亦有四百多年。目前人数众多,分布省内外,很少联系往来,不少人祖宗、祖籍观念淡薄,上不知祖宗之根,下不知自已之源,甚至辈份都不清楚。虽然同根共祖具有相同血统和基因,但如同散沙,怎能互助互爱团结拼搏?在这世纪之交,在改革开放实行市场经济的形势下,我们不能辱没祖宗,一定要承上启下,继往开来,继承和发扬祖先耕读传家,拼搏不息,开拓进取的精神,以续谱为纽带,团结全族老小共同奋斗,从振兴家族做起,为中华的振兴作出贡献,为我氏在各族之林赢得一席之地"> |
| 8 | +<link rel="stylesheet" type="text/css" href="/css/style.css" /> |
| 9 | +<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css" /> |
| 10 | +<!--主要样式--> |
| 11 | +<script type="text/javascript" src="/js/context-menu.js"></script> |
| 12 | +<script type="text/javascript" src="/js/jquery-1.7.2.min.js"></script> |
| 13 | +<script type="text/javascript"> |
| 14 | + $(function(){ |
| 15 | + $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', '收起子孙族谱树'); |
| 16 | + $('.tree li.parent_li > span').on('click', function (e) { |
| 17 | + var children = $(this).parent('li.parent_li').find(' > ul > li'); |
| 18 | + if (children.is(":visible")) { |
| 19 | + children.hide('fast'); |
| 20 | + $(this).attr('title', '展开子孙族谱树').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign'); |
| 21 | + } else { |
| 22 | + children.show('fast'); |
| 23 | + $(this).attr('title', '收起子孙族谱树').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign'); |
| 24 | + } |
| 25 | + e.stopPropagation(); |
| 26 | + }); |
| 27 | + }); |
| 28 | +</script> |
| 29 | +</head> |
| 30 | +<body> |
| 31 | + <div class="tree well"> |
| 32 | + <?php |
| 33 | + header('Content-Type: text/html; charset=utf-8'); |
| 34 | + //现代版家谱,先树后家谱 //需配合word-xianshuhoujiapu-function.php使用 |
| 35 | + include '../header.php'; |
| 36 | + // 连接数据库 |
| 37 | + include '../conn.php'; // 或者使用 require 'conn.php'; |
| 38 | + |
| 39 | + |
| 40 | + // 检查当前字符集 |
| 41 | + mysqli_query($link, "SET NAMES 'utf8'"); |
| 42 | + mysqli_query($link, "SET CHARACTER SET utf8"); |
| 43 | + |
| 44 | +// Prepare the query to fetch the required data |
| 45 | +$stmt = mysqli_prepare($link, "SELECT id, name, pid, dorder, sex, dc, zibei, zi, hao, year, dieday, gdad, dad, mother, brother, sisters, rank, zhiye, xueli, wname, son, daughter, other FROM tree_lr"); |
| 46 | +if (!$stmt) { |
| 47 | + die('mysqli_prepare failed: ' . mysqli_error($link)); |
| 48 | +} |
| 49 | + |
| 50 | +mysqli_stmt_execute($stmt); |
| 51 | + |
| 52 | +if (mysqli_stmt_errno($stmt)) { |
| 53 | + die('mysqli_stmt_execute failed: ' . mysqli_stmt_error($stmt)); |
| 54 | +} |
| 55 | + |
| 56 | +mysqli_stmt_bind_result($stmt, $id, $name, $pid, $dorder, $sex, $dc, $zibei, $zi, $hao, $year, $dieday, $gdad, $dad, $mother, $brother, $sisters, $rank, $zhiye, $xueli, $wname, $son, $daughter, $other); |
| 57 | + |
| 58 | +if (mysqli_stmt_errno($stmt)) { |
| 59 | + die('mysqli_stmt_bind_result failed: ' . mysqli_stmt_error($stmt)); |
| 60 | +} |
| 61 | + |
| 62 | +$family_tree = array(); |
| 63 | +while (mysqli_stmt_fetch($stmt)) { |
| 64 | + $family_tree[$id] = array( |
| 65 | + 'id' => $id, |
| 66 | + 'name' => trim($name), // 去掉名字前后空格 |
| 67 | + 'pid' => $pid, |
| 68 | + 'dorder' => $dorder, |
| 69 | + 'sex' => $sex, |
| 70 | + 'dc' => $dc, |
| 71 | + 'zibei' => $zibei, |
| 72 | + 'zi' => $zi, |
| 73 | + 'rank' => $rank, |
| 74 | + 'children' => array() |
| 75 | + ); |
| 76 | +} |
| 77 | + |
| 78 | +if (mysqli_stmt_errno($stmt)) { |
| 79 | + die('mysqli_stmt_fetch failed: ' . mysqli_stmt_error($stmt)); |
| 80 | +} |
| 81 | + |
| 82 | +foreach ($family_tree as $id => &$node) { |
| 83 | + if ($node['pid'] && isset($family_tree[$node['pid']])) { |
| 84 | + $family_tree[$node['pid']]['children'][] = &$node; |
| 85 | + } |
| 86 | +} |
| 87 | + |
| 88 | +mysqli_stmt_close($stmt); |
| 89 | + |
| 90 | +require_once 'word-xianshuhoujiapu-function.php'; |
| 91 | + |
| 92 | +$trees = array( |
| 93 | + array('id' => 25, 'min_gen' => 0, 'max_gen' => 3), |
| 94 | + array('id' => 26, 'min_gen' => 0, 'max_gen' => 5), |
| 95 | + array('id' => 1857, 'min_gen' => 0, 'max_gen' => 4), |
| 96 | + array('id' => 1280, 'min_gen' => 0, 'max_gen' => 3), |
| 97 | +); |
| 98 | + |
| 99 | +$people = array( |
| 100 | + array('id' => 25, 'min_dc' => 10, 'max_dc' => 12), |
| 101 | + array('id' => 26, 'min_dc' => 10, 'max_dc' => 14), |
| 102 | + array('id' => 1857, 'min_dc' => 16, 'max_dc' => 19), |
| 103 | + array('id' => 1280, 'min_dc' => 17, 'max_dc' => 20), |
| 104 | +); |
| 105 | + |
| 106 | +print_family_and_people_tree($family_tree, $trees, $people); |
0 commit comments