gpt4 book ai didi

php - 仅当满足某些条件时,如何从数据库中获取要显示的日期?

转载 作者:行者123 更新时间:2023-11-30 01:12:03 26 4
gpt4 key购买 nike

我正在尝试从数据库中获取日期,但前提是满足某些条件。我希望仅当数据以用户名提交时才使用 mySQL 中的数据填充表。 (即该数据与该用户相关。)

此数据已保存为TIMESTAMP

$sql = "SELECT * FROM bug LIMIT 100";
$result = mysql_query($sql)or die(mysql_error());


while($row = mysql_fetch_array($result)){

$bdate = $row['bugDate'];
$bfor = $row['bugFor'];


$finduserid= mysql_query
("SELECT UserId FROM user WHERE userName='{$_SESSION['myusername']}'");

if($finduserid)

{
$getuserid = mysql_fetch_assoc($finduserid);
}

$findbdate =
mysql_query("SELECT bugDate FROM bug WHERE bugDate = '$bdate'
AND '$bfor' = '" . $getuserid['UserId'] . "'");

if($findbdate)
{
$getbdate = mysql_fetch_array($findbdate);
}


$bdatetime = new DateTime($getbdate['bugDate']);
$formattedbdate = date_format($bdatetime, 'd,M Y');

如果有人能帮助我,我将不胜感激。

显然,安全性很糟糕,我很确定这种方法将是完成我想做的事情的最低效的方式,但是我是一个菜鸟,并且是边做边学。如果您有一些关于安全性的菜鸟友好文档,并且看到这些文档让您感到畏缩,请随意发布链接。非常感谢任何帮助。

(如果您需要了解更多信息,请告诉我,如果我一开始就没有包含它,请告诉我!)

编辑:我成功了。我用的是任何人都能想出的最迂回、最可笑的方式。虽然我没有使用JOIN,但它让我走上了正确的道路。将 250 行无意义的无效代码压缩为 3-4 行,除了我之外,每个人都可以看到这些代码。

我选择了我的 session 登录名等于我在数据库上的登录名的行。

$finduserid=  "SELECT UserId FROM user WHERE userName='{$_SESSION['myusername']}'";     



$runuserid = mysql_query($finduserid)or die(mysql_error());

while($getuserid = mysql_fetch_array($runuserid)){
$userid = $getuserid['0'];
}

然后,我只选择包含我的用户名的记录(而不是所有内容,然后尝试删除其中没有我的用户名的所有内容。)-_-(我是个白痴。)

$sql = "SELECT * FROM bug WHERE bugFor = '$userid'";

$result = mysql_query($sql)or die(mysql_error());

最佳答案

阅读JOINs .

我无法准确说出您的代码应该做什么,或完全破译您的数据库架构,但以下查询应该获取当前用户在给定日期提交的所有错误:

SELECT b.*
FROM bug b INNER JOIN users u
ON b.bfor = u.userID
WHERE u.userName = '{$_SESSION['myusername']}'
AND b.bugDate = '$bdate'

关于php - 仅当满足某些条件时,如何从数据库中获取要显示的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19387062/

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