Php MySQL查询,返回与循环的迭代数值变量关联的变量
我试图从数据库中动态返回行,每行的变量都与一个数字命名的变量相关联。我已经能够像下面这样编写代码了,但是有没有一种方法可以用For-Each或类似的东西来做到这一点Php MySQL查询,返回与循环的迭代数值变量关联的变量,php,mysql,for-loop,mysqli,iteration,Php,Mysql,For Loop,Mysqli,Iteration,我试图从数据库中动态返回行,每行的变量都与一个数字命名的变量相关联。我已经能够像下面这样编写代码了,但是有没有一种方法可以用For-Each或类似的东西来做到这一点 $sql1 = "SELECT rate, date FROM MyTable WHERE number='1'"; $result1 = mysqli_query($con,$sql1) or die ("Query error: " . mysqli_error()); while($ro
$sql1 = "SELECT rate, date FROM MyTable WHERE number='1'";
$result1 = mysqli_query($con,$sql1) or die ("Query error: " . mysqli_error());
while($row1 = mysqli_fetch_assoc($result1)) {
$rate1=$row1['rate'];
$date1=$row1['date'];
}
$sql2 = "SELECT rate, date FROM MyTable WHERE number='2'";
$result2 = mysqli_query($con,$sql2) or die ("Query error: " . mysqli_error());
while($row2 = mysqli_fetch_assoc($result2)) {
$rate2=$row2['rate'];
$date2=$row2['date'];
}
例如:
$sqlALL = "SELECT rate, date FROM MyTable";
与使用数字变量不同,使用数组使这变得更简单(IMHO)。因此,从表中获取数字并将其用作结果数组的索引
$sql1 = "SELECT number, rate, date FROM MyTable ORDER BY number";
$result1 = mysqli_query($con,$sql1);
$rate = [];
$date = [];
while($row1 = mysqli_fetch_assoc($result1)) {
$rate[$row1['number']]=$row1['rate'];
$date[$row1['number']]=$row1['date'];
}
或者一次按一行索引它们
$sql1 = "SELECT number, rate, date FROM MyTable ORDER BY number";
$result1 = mysqli_query($con,$sql1);
$results = [];
while($row1 = mysqli_fetch_assoc($result1)) {
$results[$row1['number']]=$row1;
}
这是阵列更适合的地方。类似于
$rate[$row1['number']]=$row1['rate']代码>你能再详细说明一下吗?我不知道你想要什么。基本上,您希望变量$rateX和$dateX与数据库响应中的值匹配?您有一个错误。需要一个论点。请考虑切换错误模式。如何从中得到$rate1、$date1、$rate2、$date2?您不需要,而是使用$rate1
而不是$rate[1]
。所以你有一个变量,用这个数字作为索引。