for循环返回mysql数据库中第5个计数和第13个计数的字符串1-30,使用php匹配数字
我已经创建了一个for循环来计数1-30,并希望将mysql number列1-30与其attach string数据列名称匹配,并在for循环中显示字符串 Mysql结构:for循环返回mysql数据库中第5个计数和第13个计数的字符串1-30,使用php匹配数字,php,mysql,for-loop,Php,Mysql,For Loop,我已经创建了一个for循环来计数1-30,并希望将mysql number列1-30与其attach string数据列名称匹配,并在for循环中显示字符串 Mysql结构: |-------------|-------------|--------------| | id | Number | Name | |-------------|-------------|--------------| | 90 | 3
|-------------|-------------|--------------|
| id | Number | Name |
|-------------|-------------|--------------|
| 90 | 3 | Test Data |
|-------------|-------------|--------------|
尝试了类似的尝试,例如:
foreach($db->results() as $result) {
$count = $result->Number;
$results = $result->Name;
}
for($i=1;$i<=30;$i++) {
if($count == $i) {
echo $results;
}else{
echo '';
}
}
需要帮助!谢谢你
================================================================================================================================================================
好的,这就是我想要完成的。。。它可以在匹配时指定正确的号码,感谢您的建议。以下是我所拥有的:
$name = array();
$number = array();
foreach($forDB->results() as $for){
$name = $for->firstname;
$number = $for->number;
for($i=1;$i<=30;$i++) {
if($i<=5){
if($number == $i) {
echo $i.' = '.$name;
}
} //then the rest of remanding numbers to 30
}
}
这呼应了:
2=名称1
4=名称4
但我想做的是在数字和值之间回显$I的数字,如下所示:
一,
2=名称1
三,
4=名称4
五,
所以我尝试了这个方法,但它会附加到每个值上:
$name = array();
$number = array();
foreach($forDB->results() as $for){
$name = $for->firstname;
$number = $for->number;
for($i=1;$i<=30;$i++) {
if($i<=5){
if($number == $i) {
echo $i.' = '.$name.'<br><br>';
} else {
echo $i.'<br>';
}
} else {
echo $i;
}
}
}
结果:
二,
三,
四,
五,
六,
七,
一,
2=名称2
三,
四,
五,
六,
七,
一,
二,
三,
4=杰夫
1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7我认为您应该在foreach循环之前将计数和名称变量初始化为数组,然后在foreach循环中用结果填充,然后在foreach循环中迭代。请显示一些示例输出。为什么必须循环,为什么不能通过查询来选择数字等于所需数字的位置?另外,您可能想将for循环放在foreach循环中,以便每次设置$count和$results,现在它只有一个设置值和for循环,因此,它将只满足if标准once@MichaelSt Clair他可能只想要1到30之间的数字,在这种情况下,他需要写30个ifs来决定结果数字是否为1、2、3、4、5等等。但这确实是一件容易实现的事情。听起来你需要在查询中添加WHERE子句,并重新思考/简化循环。从你的问题很难判断。