问题是它不会循环。有多个结果,我只是回应我得到的所有结果。当我使用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我得到的第一个结果是包含一个页面,但我需要它包含所有页面。
答案 0 :(得分:1)
1)你说你的循环在包含第一个文件后结束,检查$ rows变量是否在这个文件中被改变(从而触发循环结束)。例如:
other.php:
$rows = 'just a check';
的index.php:
$rows = 'somevalue';
include('other.php');
echo $rows; // output: just a check
2)将include更改为include_once以确保
答案 1 :(得分:0)
尝试
include ("'q".$rows['qNumber'].".php'");
OP表示它正在循环所有结果,但它没有在当前目录中查找它们,它正在查看默认的包含路径。
所以,试试这个:
require __DIR__ . '/"q".$rows['qNumber'].".php"';
答案 2 :(得分:0)
您可以使用分配公共页面并将所有要求发送到该页面功能
来完成例如:
include("repeat.php");
for($x=1;$x<10;$x++)
{
echo div($x);
}
repeat.php
function div($x) {
return "<div>$x</div>";
}
或尝试此类包含
<?php
for($x=1;$x<10;$x++)
{
include('repeat2.php');
}
?>
repeat2.php page
<? //repeat2.php
echo "<div>$x: ".date('H:i:s')."</div>";
sleep(5);
?>
但第二个需要很长时间才能加载
答案 3 :(得分:0)
试试这个......
$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++;
}