prepare($sqla)->execute([$bits[1], $bits[2], $bits[0]]); // $sqlb = "UPDATE shrops_people SET spouse_id=? WHERE id=?"; // $pdo->prepare($sqlb)->execute([$bits[1], $bits[0]]); } } } ?> Hodnet: find kids 0 $rows = ""; $in = ""; // WHERE nab LIKE '".$letter."%' && // people $stmt = $pdo->query("SELECT * FROM shrops_people ORDER BY nab ASC, given ASC"); $result = $stmt->fetchAll(); // marriages //$stmt2 = $pdo->query("SELECT * FROM shrops_events WHERE name2sur LIKE '".$letter."%' ORDER BY name2 ASC, name1 ASC, year ASC"); //$result2 = $stmt2->fetchAll(); $people = array(); $marriages = array(); foreach($result as $r) { array_push($people,array('id' => $r['id'],'name' => $r['name'],'given' => $r['given'],'nab' => $r['nab'],'nad' => $r['nad'],'dob' => $r['dob'],'byear' => $r['byear'],'bmonth' => $r['bday'],'dod' => $r['dod'],'father' => $r['father'],'mother' => $r['mother'],'fname' => $r['fname'],'mname' => $r['mname'],'extras' => $r['extras'],'birth_id' => $r['birth_id'],'death_id' => $r['death_id'],'spouse_id' => $r['spouse_id'],'spouse_name' => $r['spouse_name'],'marriage_id'=>$r['marriage_id'],'sex'=>$r['sex'])); } /* foreach($result2 as $r2) { array_push($marriages,array('id' => $r2['id'],'name1' => $r2['name1'],'name1g' => $r2['name1given'],'name1s' => $r2['name1sur'],'name2'=>$r2['name2'],'name2g' => $r2['name2given'],'name2s' => $r2['name2sur'],'year' => $r2['year'])); } */ //print_r($people); $out = array(); $fs = array(); $ms = array(); foreach($people as $p1) { if(!empty($p1['spouse_id'])) { foreach($people as $p2) { if ($p2['id']==$p1['spouse_id'] && $p1['sex']=='m') { //echo "Yeah!
"; foreach($people as $p3) { similar_text($p3['fname'],$p1['name'],$pcf); similar_text($p3['mname'],$p2['given']." ".['nad'],$pcm); // echo "$pcf, $pcm
"; similar_text($p3['nab'],$p1['nab'],$pcnab); $diff1 = $p3['byear'] - $p1['byear']; $diff2 = $p3['byear'] - $p2['byear']; $difftop1 = 60; $difftop2 = 45; //echo "$pcf, $pcm, $pcnab
"; // && (($diff1>15 && $diff1<$difftop1 && $pcf1>90) || ($diff2>15 && $diff2<$difftop2 && $pcf2>90)) if ($pcnab>90) { if($diff2>15 && $diff2<46 && $pcm>50 && $pcf>90) { array_push($out,array('child_id'=>$p3['id'],'child_nab'=>$p3['nab'],'child_name'=>$p3['name'],'f_name'=>$p3['fname'],'m_name'=>$p3['mname'],'p1_id'=>$p1['id'],'p1_name'=>$p1['name'],'p2_id'=>$p2['id'],'p2_name'=>$p2['name'],'diff1'=>$diff1,'diff2'=>$diff2,'child_byear'=>$p3['byear'],'p1_byear'=>$p1['byear'],'p2_byear'=>$p2['byear'])); } } } } } } } /* foreach($people as $p1) { foreach($people as $p2) { similar_text($p1['fname'],$p2['name'],$pcf); if ($pcf>90) { array_push($fs,$p2['id']); } similar_text($p1['mname'],$p2['name'],$pcm); if ($pcm>90) { array_push($ms,$p2['id']); } } foreach($fs as $f) { foreach($ms as $m) { if($f['spouse_id']==$m['id']) { array_push($out,array('f_id' => $f['id'],'f_name' => $f['name'],'f_birth' => $f['byear'],'f_m_id' => $p1['marriage_id'],'p1_spouse_name' => $p1['spouse_name'],'p1_spouse_id' => $p1['spouse_id'],'p2_id' => $p2['id'],'p2_name' => $p2['name'],'p2_birth' => $p2['byear'],'p2_m_id' => $p2['marriage_id'],'p2_spouse_name' => $p2['spouse_name'], 'p2_spouse_id' => $p2['spouse_id'],'diff' => $diff)); } } } } */ /* if (!empty($p1['marriage_id'])) { $stmt2 = $pdo->query("SELECT * FROM shrops_people WHERE id!=".$p1['id']." && marriage_id=".$p1['marriage_id']); $p2 = $stmt2->fetch(); if(!empty($p2['id'])) { $diff = $p1['byear']-$p2['byear']; array_push($out,array('p1_id' => $p1['id'],'p1_name' => $p1['name'],'p1_birth' => $p1['byear'],'p1_m_id' => $p1['marriage_id'],'p1_spouse_name' => $p1['spouse_name'],'p1_spouse_id' => $p1['spouse_id'],'p2_id' => $p2['id'],'p2_name' => $p2['name'],'p2_birth' => $p2['byear'],'p2_m_id' => $p2['marriage_id'],'p2_spouse_name' => $p2['spouse_name'], 'p2_spouse_id' => $p2['spouse_id'],'diff' => $diff)); } } */ //} /* similar_text($p['name'],$m['name2'],$pc); $diff = $m['year'] - $p['byear']; if($diff>15 && $diff<70 && $pc>90 && !($p['dod']>0 && $p['dod']<$m['year'])) { array_push($out,array('p_id' => $p['id'],'p_name' => $p['name'],'p_given' => $p['given'],'p_sur' => $p['sur'],'birth' => $p['byear'],'m_id' => $m['id'],'m_name2' => $m['name2'],'spouse' => $m['name1'],'m_year' => $m['year'],'marriage_id'=>$p['marriage_id'],'spouse_name'=>$p['spouse_name'],'spouse_id'=>$p['spouse_id'],'diff'=>$diff)); } */ Utility::orderBy($out, 'child_byear ASC'); $c1s = array(); $c2s = array(); $c3s = array(); foreach($out as $o) { if ($o['p1_marriage_id']==$o['p2_marriage_id']) { $chbit = "checked=\"checked\" "; } if ($o['p1_spouse_id']==$o['p2_id'] && $o['p2_spouse_id']==$o['p1_id']) { $chbit = "checked=\"checked\" disabled=\"disabled\" "; } /* if (!in_array_r($o['id1'],$c1s)) { $color1 = random_color(); array_push($c1s,array($o['id1'],$color1)); }*/ foreach($c1s as $c1) { if ($c1[0] == $o['p_id']) { $dcolor1 = $c1[1]; } } if (empty($dcolor1)) { $dcolor1 = random_color(); array_push($c1s,array($o['p_id'],$dcolor1)); } foreach($c2s as $c2) { if ($c2[0] == $o['m_name2']) { $dcolor2 = $c2[1]; } } if (empty($dcolor2)) { $dcolor2 = random_color(); array_push($c2s,array($o['m_name2'],$dcolor2)); } foreach($c3s as $c3) { if ($c3[0] == $o['spouse']) { $dcolor3 = $c3[1]; } } if (empty($dcolor3)) { $dcolor3 = random_color(); array_push($c3s,array($o['spouse'],$dcolor3)); } if ($married==true) { $dcolor1 = $dcolor2 = $dcolor3 = "gray"; } // 'child_id'=>$p3['id'],'child_name'=>$p3['name'],'p1_id'=>$p1['id'],'p1_name'=>$p1['name'],'p2_id'=>$p2['id'],'p2_name'=>$p2['name']) $dcolor1 = $dcolor2 = $dcolor3 = $married = ""; $rows.="".$o['child_id']."".$o['child_name']." (".$o['child_byear'].")".$o['p1_id']."".$o['f_name']."
".$o['m_name']."
".$o['p1_name']." (".$o['p1_byear'].")".$o['p2_id']."".$o['f_name']."
".$o['m_name']."
".$o['p2_name']." (".$o['p2_byear'].")".$o['diff1'].", ".$o['diff2']."\n"; $dcolor1 = $dcolor2 = $dcolor3 = $married = $chbit = ""; } ?>
child_idchild_namep1_idp1_namep2_idp2_namediff1, diff2