I have a form with a dynamic select option. I want to calculate the age of a goat in months from its date of birth after selecting it from the db and echo the selected goat age on the following form field that follows the Dynamic selection option. Here is the selection script:
<?php
$conn = mysqli_connect("localhost", "root", "xxx", "xxxx");
if(mysqli_connect_errno($conn)) {
echo "Unable to connect to database server";
}
$sql = "SELECT * FROM goats WHERE sex='Male'";
$query = mysqli_query($conn, $sql);
echo '<select name="hegoat">';
echo '<option value="">Choose He Goat</option>';
while($hegoats = mysqli_fetch_assoc($query)){
echo "<option>{$hegoats['goatid']}</option>";
}
echo '</select>';
?>
Data Base table is goats with 'dob' as the column for Date of Birth
while the form field for age is:<input type="text" name="age" id="age"/>
And my PHP code is
<?php
if(isset($_POST['sub']))
{
date_default_timezone_set ("Asia/Calcutta");
$dateofreg1=date("d M Y");
$dbd=$_POST['dob'];
$startTimeStamp = strtotime($dbd);
$endTimeStamp = strtotime($dateofreg1);
$timeDiff = abs($endTimeStamp - $startTimeStamp);
$numberDays = $timeDiff/86400;
$numberDays = intval($numberDays);
$days="Total day :".$numberDays;
$birthDate =$dbd;
$birthDate = explode("/", $birthDate);
$age = (date("md", date("U", mktime(0, 0, 0, $birthDate[0], $birthDate[1], $birthDate[2]))) > date("md") ? ((date("Y") - $birthDate[2]) - 1) : (date("Y") - $birthDate[2]));
$dobs="Age is:" . $age;
}
?>