php - MySQL Query with Returned Variables associated with Iterative Numeric Variables For-Loops
问题描述
I'm trying to dynamically return rows from the database with the variable from each row being associated with a numerically named variable. I have been able to code like the following but is there a way to do this with For Each or something similar?
$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'];
}
Ie like the following:
$sqlALL = "SELECT rate, date FROM MyTable";
解决方案
而不是使用数字变量,使用数组使这更简单(恕我直言)。所以从表中获取数字并将其用作结果数组的索引......
$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;
}
推荐阅读
- docker - 使用 Gradle 构建应用程序的 Docker 映像
- javascript - JavaScript 计算错误超过 100
- swift - 如何快速从字符串中删除前 n 个字符?
- scala - 是否可以在 Scala 中的赋值/初始化之前声明一个 val?
- docker - Docker 容器中的 JetBrains/Teamtools “无法侦听地址 0.0.0.0 和端口 443”
- angular - 将 observable 转换为数组以绘制 googlechart
- swift - 左对齐的水平堆栈视图和顶部对齐的垂直堆栈视图
- tableau-api - 具有自定义字段的交互式仪表板
- php - 安装 SSL Codeigniter 后出错
- eclipse - eclipse Photon SQL 编辑器