如何解决将“ Y-m-d H:i:s”转换为“ d.m.Y H:i:s”
所以我有一个日期为“ Ydm H:i:s”的mysql数据库,但在我的网站上我必须这样做,以便当用户按日期和时间筛选时,他以“ dmY H:i:s”格式编写蝙蝠仍然得到结果。我该如何转换?网站是虚拟交易所,因此此页面上的管理员可以按日期和时间或主持人进行过滤,并写出指定日期时间段内每种货币的总销售额。这是我的代码。谢谢!
<?php
session_start();
if(!isset($_SESSION["id"])){
header("Location:login.php");
}
if($_SESSION["tip"] != 0){
header("Location:index.php");
}
include_once("baza.php");
$veza = spojiSeNaBazu();
$id_novi_iznos="";
$upit = "SELECT `valuta`.`naziv`,SUM(`zahtjev`.`iznos`) AS 'iznos' FROM `zahtjev` JOIN `valuta` ON `prodajem_valuta_id`=`valuta_id` ";
if(isset($_POST["submit"])){
$id_korisnika = $_SESSION["id"];
$kreiran_od = $_POST["kreiran_od"];
$kreiran_do = $_POST["kreiran_do"];
$moderator = $_POST["mod"];
if(isset($_POST["kreiran_od"]) && $_POST["kreiran_od"] != "" && isset($_POST["kreiran_do"]) && $_POST["kreiran_do"] != ""){
$upit .= "WHERE `datum_vrijeme_kreiranja` < '$kreiran_do' AND `datum_vrijeme_kreiranja` > '$kreiran_od'";
}
if(isset($_POST["mod"]) && isset($_POST["mod"]) != "" && isset($_POST["kreiran_od"]) && $_POST["kreiran_od"] != "" && isset($_POST["kreiran_do"]) && $_POST["kreiran_do"] != ""){
$upit .= "AND `moderator_id` = $moderator";
}else if(isset($_POST["mod"]) && isset($_POST["mod"]) != ""){
$upit .= "WHERE `moderator_id` = $moderator";
}
}
$upit .= " GROUP BY `prodajem_valuta_id`";
$rezultat = izvrsiUpit($veza,$upit);
zatvoriVezuNaBazu($veza);
function moderatori(){
$veza = spojiSeNaBazu();
$upit = "SELECT * FROM korisnik WHERE tip_korisnika_id = 1";
$moderatori = izvrsiUpit($veza,$upit);
while ($korisnik = mysqli_fetch_array($moderatori)) {
echo "<option value='$korisnik[0]'>$korisnik[2]</option>" ;
}
zatvoriVezuNaBazu($veza);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Ukupni iznos prodanih valuta </title>
<meta charset="utf-8">
<meta name="autor" content="Benček Tena">
<meta name="datum posljednje promjene" content="31.8.2020">
<link rel="stylesheet" type="text/css" href="iwaa.css">
</head>
<body>
<header>
<?php include 'header2.php';?>
</header>
<div class="iznosi">
<h3>Unesite novi iznos</h3>
<form id="obrazac" name="obrazac" method="post"
action="<?php echo $_SERVER["PHP_SELF"];?>">
<label for="kreiran_od">Zahtjev kreiran od</label>
<input name="kreiran_od" type="text" placeholder="Kreiran od.." />
<br>
<label for="kreiran_do">Zahtjev kreiran od</label>
<input name="kreiran_do" type="text" placeholder="Kreiran do.." />
<br>
<select id="mod" name="mod">
<?php moderatori() ?>
</select>
<br>
<input class="button3" name="submit" type="submit" value="Unesi"/>
</form>
<table id="tablica" width="100%">
<caption>Ukupni iznos prodanih valuta</caption>
<thead>
<tr>
<th>Naziv valute</th>
<th>Ukupni iznos</th>
</tr>
</thead>
<tbody>
<?php
if(isset($rezultat)){
while($red = mysqli_fetch_array($rezultat)){
echo "<tr>";
echo "<td>{$red[0]}</td>";
echo "<td>{$red[1]}</td>";
echo "</tr>";
}
}
?>
</tbody>
</table>
</div>
<footer>
<?php include 'footer.php';?>
</footer>
</body>
</html>
解决方法
您没有告诉我们要重新格式化的列
但是在mysql中,您使用DATE_FORMAT
SELECT DATE_FORMAT(NOW(),'%d.%m.%Y %H:%i:%s')
| DATE_FORMAT(NOW(),'%d.%m.%Y %H:%i:%s') | | :------------------------------------- | | 31.08.2020 17:49:23 |
db 提琴here
您应紧急切换到带有参数的**准备好的语句,请参见How can I prevent SQL injection in PHP?
当您想在mysql查询中执行此操作时,我不太了解。
$upit .= "WHERE `datum_vrijeme_kreiranja` < DATE_FORMAT('$kreiran_do','%d.%m.%Y %H:%i:%s') AND `datum_vrijeme_kreiranja` > DATE_FORMAT('$kreiran_od','%d.%m.%Y %H:%i:%s')";
在php中,您可以这样做:
$old_date = strtotime($kreiran_do);
$new_date = date('d.m.Y H:i:s',$old_date);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。