Php 循环包含语句

Php 循环包含语句,php,mysql,while-loop,include,Php,Mysql,While Loop,Include,问题是它不会循环。有多个结果,我只是重复我得到的所有结果。当我使用include时,它只显示第一条记录。这是可以做到的。我试过每个,我试过数组,我试过滚动结果,因为我只抓取一个字段,但它不会滚动所有结果,只滚动第一个。多谢各位 $connection = mysql_connect($host,$user,$pass); mysql_select_db($dbname); $sqlr = "select qNumber from regquestions ORDER BY RAND() L

问题是它不会循环。有多个结果,我只是重复我得到的所有结果。当我使用include时,它只显示第一条记录。这是可以做到的。我试过每个,我试过数组,我试过滚动结果,因为我只抓取一个字段,但它不会滚动所有结果,只滚动第一个。多谢各位

$connection = mysql_connect($host,$user,$pass);  
mysql_select_db($dbname); 
$sqlr = "select qNumber from regquestions ORDER BY RAND() LIMIT 0,5";
$query = mysql_query($sqlr); 
//$result = mysql_query($sqlr);
while ($rows = mysql_fetch_array($query))
{
include ("q".$rows['qNumber'].".php");
}
使用Echo,我可以在页面上看到:

q22.phpq3.phpq17.phpq13.phpq4.php
使用include我得到的第一个结果是包含一个页面,但我需要它包含所有页面

试试看

include ("'q".$rows['qNumber'].".php'");
OP说它正在循环所有结果,但它没有在当前目录中查找它们,而是在默认的包含路径中查找

那么,试试这个:

require __DIR__ . '/"q".$rows['qNumber'].".php"';

您可以使用分配公共页面并将所有需求发送到该页面功能来完成此操作

例如:

include("repeat.php");
for($x=1;$x<10;$x++) 
{ 
echo div($x);
} 
include(“repeat.php”);
对于($x=1;$x)
但是第二个需要很长时间才能加载

请尝试以下方法

$result = mysql_query("SELECT qNumber FROM regquestions ORDER BY RAND() LIMIT 0,5;") or die(mysql_error());

for($i = 0; $array[$i] = mysql_fetch_assoc($result); $i++);

// Delete last empty one
array_pop($array);

$x = 0;
$end_of_list = count($array)

while ($x < $end_of_list)
{
    include_once("q".$array[$x].".php");
    $x++;
}
$result=mysql\u query(“按RAND()限制0,5;”)或die(mysql\u error());
对于($i=0;$array[$i]=mysql_fetch_assoc($result);$i++);
//删除最后一个空的
数组_pop($array);
$x=0;
$end\u of_list=计数($array)
而($x<$end_of_列表)
{
包括_once(“q”。$array[$x]。.php”);
$x++;
}
1)如果在包含第一个文件后说循环结束,请检查此文件中是否更改了$rows变量(从而触发循环结束)。例如:

other.php:

$rows = 'just a check';
index.php:

$rows = 'somevalue';
include('other.php');
echo $rows; // output: just a check

2) 将include更改为include_一次,只是为了确定

为什么要用同一个查询调用
mysql_query()
两次?对不起,这里有额外的$result行。我用另一种方法把它注释掉了数据库连接没有失败。我可以做Echo(“q”。$rows['qNumber']..php”);查看所有结果,如我所说,使用include只得到第一个结果。所以有results@ling.s接近。它正在循环所有结果,但它没有在当前目录中查找它们,而是在默认的包含路径中查找…这比目前为止的情况更接近了。而且,如果它两次拉同一个文件,它将崩溃。您需要使用
include_once(“file.php”)我对此充满希望,但在第一个includeNo之后,它停止了,下一个文件运行查询并输出数据。include文件中的变量名为$row,因此它不会干扰本文件中的$row。好吧,提供的所有可能的循环,包括您的循环,都应该可以工作。你能把你要包含的文件拿出来吗?试着包含一些测试文件,里面只有echo。谢谢$Row/$Rows不是问题,但当前页面中的$query/$query和includes是问题。我在当前文件中将$query更改为$querys,所有的include现在都加载并运行各自的查询,以填充测试问题和选项。再次感谢
$result = mysql_query("SELECT qNumber FROM regquestions ORDER BY RAND() LIMIT 0,5;") or die(mysql_error());

for($i = 0; $array[$i] = mysql_fetch_assoc($result); $i++);

// Delete last empty one
array_pop($array);

$x = 0;
$end_of_list = count($array)

while ($x < $end_of_list)
{
    include_once("q".$array[$x].".php");
    $x++;
}
$rows = 'just a check';
$rows = 'somevalue';
include('other.php');
echo $rows; // output: just a check