gpt4 book ai didi

php - 从 MySQL 表发布日期信息

转载 作者:行者123 更新时间:2023-11-30 00:14:45 25 4
gpt4 key购买 nike

我有一个网页,希望从 MySQL 数据库提供事件信息。我有一个 PHP 函数提供此事件信息,并尝试包含事件的日期时间,但我想使用 date_format 对其进行格式化。 mysql 中的函数。

我目前尝试的PHP函数如下;

function eventbox() {
$events = mysql_query('SELECT * FROM my_db.events LEFT JOIN my_db.venues USING (venue_id) LEFT JOIN my_db.eventtype USING (eventtype_id),');
while($row = mysql_fetch_array($events)) {
$loopResult .= '
<div class="eventbox">
<div class="eventtitle">'.$row['eventname'].'</div>
<div class="eventdate">'.date_format($row ('eventtime'), 'g:ia \o\n l jS F Y').'</div>
<div class="eventvenue">'.$row['name'].'</div>
<div class="tie-inbuttonholder">
<button type="button">tie-in</button>
</div>
<div class="eventboxicon" class="tie-inbutton">'.$row['eventicon'].'</div>
</div>
';
}
echo $loopResult;
}

我基本上想从表中获取 DateTime 行并以“2014 年 5 月 19 日星期一晚上 7:00”的格式呈现

如果有人可以阐明这一点以及如何正确完成该功能,那将非常有帮助!

更新/编辑:

因此,我在 @Prior 的帮助下更新了该函数,并得到了它提供的信息并填充了所有 <divs>除了 <div class="eventdate">再次出现在页面上。该函数现在显示为:

function eventbox() {
$loopResult = "";
$query = mysql_query("SELECT eventname, name, eventicon, DATE_FORMAT(eventtime, '%a %b %dth %Y at %h:%i%p') FROM my_db.events LEFT JOIN my_db.venues USING (venue_id) LEFT JOIN my_db.eventtype USING (eventtype_id)");
while($row = mysql_fetch_array($query)) {
$loopResult .= '
<div class="eventbox">
<div class="eventtitle">'.$row['eventname'].'</div>
<div class="eventdate">'.$row['DATE_FORMAT(eventtime)'].'</div>
<div class="eventvenue">'.$row['name'].'</div>
<div class="tie-inbuttonholder">
<button type="button">tie-in</button>
</div>
<div class="eventboxicon" class="tie-inbutton">'.$row['eventicon'].'</div>
</div>
';
}
echo $loopResult;
}

现在唯一的问题是,当我运行脚本时,我收到错误代码;

Notice: Undefined index: DATE_FORMAT(eventtime) in /var/www/test/test_func.inc.php on line 23

第 23 行将是:

<div class="eventdate">'.$row['DATE_FORMAT(eventtime)'].'</div>

我尝试了多种不同的方法来格式化这部分函数,​​包括(话虽这么说,我运行 .date_format($row... 方法时确实遇到了略有不同的错误);

<div class="eventdate">'.date_format($row ('eventtime'), 'g:ia \o\n l jS F Y').'</div>
<div class="eventdate">'.date_format($row ['eventtime'], '%a %b %dth %Y at %h:%i%p').'</div>
<div class="eventdate">'.date_format($row['eventtime'], 'l M d\t\h Y \a\t g:iA').'</div>
<div class="eventdate">'.$row['DATE_FORMAT(eventtime, 'g:ia \o\n l jS F Y')'].'</div>
etc...

对于如何纠正此问题有什么建议吗?当我对服务器运行 SQL 查询时,我得到了一个完美运行的出色表,并且该函数的所有其他部分都运行良好。

谢谢!

最佳答案

您要查找的格式字符串是 %a %b %dth %Y at %h:%i%p (Consult the Mysql-Manual)。所以你的整个 SQL 查询将如下所示(我忽略了查询末尾的尾随逗号):

SELECT eventname, name, DATE_FORMAT(eventtime, '%a %b %dth %Y at %h:%i%p`') FROM my_db.events LEFT JOIN my_db.venues USING (venue_id) LEFT JOIN my_db.eventtype USING (eventtype_id)

另请注意以下事项:

  1. 您在 PHP 中检索数据时使用了错误类型的括号:它应该是 $row ['eventtime']而不是$row ('eventtime')
  2. PHP 中已弃用 MySQL 函数,请使用 MySQLi相反。

您的整个代码将如下所示:

function eventbox() {
$loopResult = "";
$mysqli = ... //Initialize Databaseconenction here
$query = $mysqli->prepare("SELECT eventname, name, DATE_FORMAT(eventtime, '%a %b %dth %Y at %h:%i%p`') FROM my_db.events LEFT JOIN my_db.venues USING (venue_id) LEFT JOIN my_db.eventtype USING (eventtype_id)");
$query->execute();
$query->bind_result($eventname, $name, $eventtime);
while($query->fetch()) {
$loopResult .= '
<div class="eventbox">
<div class="eventtitle">'.$eventname.'</div>
<div class="eventdate">'.$eventtime.'</div>
<div class="eventvenue">'.$name.'</div>
<div class="tie-inbuttonholder">
<button type="button">tie-in</button>
</div>
<div class="eventboxicon" class="tie-inbutton">'.$row['eventicon'].'</div>
</div>
';
}
$query->close();
$mysqli->close();
echo $loopResult;
}

关于php - 从 MySQL 表发布日期信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23752751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com