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

标签 php mysql sql

好吧,这是我在这个项目中遇到问题的最后一部分(我的第一次 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/

相关文章:

php - MySQL : SELECT results from four different tables in one query

mysql - 仅在一个表中、仅在第二个表中以及在两个表中的条目的百分比

php - Woocommerce:特定产品的强制优惠券

php - TinyMCE 更改语言

mysql - 具有黑名单和收藏夹的用户注册系统的数据模型?

mysql - Nodejs异常时的内存使用情况

php - 无需身份验证即可识别唯一用户

PHP将文本文件中的解析值插入MySQL DB

PHP页面重定向问题——无法修改header信息

sql - 一天中的所有时间