Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
for循环返回mysql数据库中第5个计数和第13个计数的字符串1-30,使用php匹配数字_Php_Mysql_For Loop - Fatal编程技术网

for循环返回mysql数据库中第5个计数和第13个计数的字符串1-30,使用php匹配数字

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

我已经创建了一个for循环来计数1-30,并希望将mysql number列1-30与其attach string数据列名称匹配,并在for循环中显示字符串

Mysql结构:

|-------------|-------------|--------------|
| 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子句,并重新思考/简化循环。从你的问题很难判断。