首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何搜索mysql的日期,并返回结果与日期和数据?

问如何搜索mysql的日期,并返回结果与日期和数据?
EN

Stack Overflow用户
提问于 2013-12-28 00:11:06
回答 1查看 125关注 0票数 0

我想知道如何执行日期搜索并返回结果?

我做了一个表格让用户手动输入日期

代码语言:javascript
复制
<form  method="post" action="result.php"  id="searchform"> 
<input  type="text" name="dob" /> 
<input  type="submit" name="submit" value="Search" />

另外,已经在search.php中包含了mysql连接。

代码语言:javascript
复制
$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时,我找不到最相似的教程来执行我想要的。

EN

回答 1

Stack Overflow用户

发布于 2013-12-28 00:19:47

以下是如何将用户格式化的日期转换为适用于MySQL的正确格式的示例。

代码语言:javascript
复制
$userDate = '27/12/2013';
$dateTime = DateTime::createFromFormat('d/m/Y', $userDate);
$myFormat = $dateTime->format('Y-m-d');

然后,您可以在查询中使用该新变量。

代码语言:javascript
复制
$sql = "SELECT * FROM myTable WHERE myDate = :date";
$sth = $dbh->prepare($sql);
$sth->execute(array('date'=>$myFormat)); //Switched to array() syntax.
$results = $sth->fetchAll();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20803843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档