gpt4 book ai didi

php - 查询后使用php从多行中检索信息

转载 作者:行者123 更新时间:2023-11-29 14:47:09 25 4
gpt4 key购买 nike

好吧,这是我在这个项目中遇到问题的最后一部分(我的第一次 php/mysql 尝试)。麻烦出现在最后一个“while”循环中。我无法找到一种为变量数组赋值的方法。虽然在处理表中的一行时,此格式可以获取多列,但我正在寻找一种从多 (3) 行中获取一个字段的方法。想法?

$x=1;
do{
$sql = "SELECT * FROM`".$tableName."` WHERE `StopId`=".$stopId." AND `Time` >='". $time. "' LIMIT 3";
$result = mysql_query($sql, $conn);

if (!$result){
echo "DB Error, could not query the database\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}

这就是给我带来麻烦的部分。它将最后一个结果(因为它仅限于 3 个结果)分配给所有值。如果我将限制更改为 1 或 2,则所有值都会成为第一个或第二个结果。我想要 time1 中的第一个,time2 中的第二个,time3 中的第三个。

<小时/>
    while ($row = mysql_fetch_array($result)) {
$time1[$routeName[$x]] = $row[Time];
$time2[$routeName[$x]] = $row[Time];
$time3[$routeName[$x]] = $row[Time];

}

    $x++;
}while(!is_Null($routeName[$x]));

编辑:

The table is in the format:
| IdNum | StopId | Time |
| 1 | 1 | 12:44 |
| 2 | 2 | 13:15 |
| 3 | 1 | 12:55 |
| 4 | 2 | 14:15 |
| 5 | 1 | 13:20 |

等等。如果我有 $stopId = 1 和 $time = 12:30 我希望能够分配:

 "12:44" to $time1[$routeName[$x]]
"12:55" to $time2[$routeName[$x]]
"13:20" to $time3[$routeName[$x]]

我还应该补充一点,查询语句是有效的。

编辑:抱歉,我在最初发布后将 $routeNum 更改为 $routeName,以帮助澄清变量包含的内容。它只是构成表名称一部分的字符串标题。

最佳答案

记住,您一次只循环一行。因此,如果您一次设置所有三个变量,它们都将是最后一行的值。我不知道你的 $routeName 变量来自哪里?尝试:

$x = 0;
while ($row = mysql_fetch_array($result)) {
$routeName[$x] = $row['Time'];
$x++;
}

不知道你想如何格式化?如果您必须将其格式化为单独的变量而不是数组,我认为您可以这样做,但我不知道您为什么要这样格式化它。

$x = 0;
while ($row = mysql_fetch_array($result)) {
${time.$x[$routeName[$x]]} = $row['Time'];
$x++;
}

如果你

关于php - 查询后使用php从多行中检索信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714229/

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