我想知道如何执行日期搜索并返回结果?
我做了一个表格让用户手动输入日期
<form method="post" action="result.php" id="searchform">
<input type="text" name="dob" />
<input type="submit" name="submit" value="Search" />另外,已经在search.php中包含了mysql连接。
$dsn = 'mysql:host=localhost;dbname=mama';
$username = 'root';
$password = '';
$dbh = new PDO($dsn, $username, $password);
$userDate = $_POST['dob'];
$dateTime = DateTime::createFromFormat('d/m/Y', $userDate);
$myFormat = $dateTime->format('Y-m-d');
$sql = "SELECT dob FROM data WHERE dob = :date";
$sth = $dbh->prepare($sql);
$sth->execute(array('date'=>$myFormat)); //Switched to array() syntax.
$results = $sth->fetchAll();
foreach($results->query($sql) as $row)
{
print $row['rowone'] . " ";
print $row['rowtwo'] . " ";
print $row['rowthree'] . " ";
print "$userDate";
} 用户将按亚洲格式键入日期--> DD/MM/YYYY,但我了解mysql日期存储为Y-m-d,日期行有另外三个存储数据的行名(row1,row2,row3)。
我需要的是,当用户输入亚洲格式的日期,点击搜索按钮,它将查找mysql中的日期,并返回日期与其他三行数据一起。
除此之外,一行数据将只有一个日期。
请告诉我,当我查看google时,我找不到最相似的教程来执行我想要的。
发布于 2013-12-28 00:19:47
以下是如何将用户格式化的日期转换为适用于MySQL的正确格式的示例。
$userDate = '27/12/2013';
$dateTime = DateTime::createFromFormat('d/m/Y', $userDate);
$myFormat = $dateTime->format('Y-m-d');然后,您可以在查询中使用该新变量。
$sql = "SELECT * FROM myTable WHERE myDate = :date";
$sth = $dbh->prepare($sql);
$sth->execute(array('date'=>$myFormat)); //Switched to array() syntax.
$results = $sth->fetchAll();https://stackoverflow.com/questions/20803843
复制相似问题