$b = 1;
$d = mysql_query("select *from 'table_name'");
while($b < 10){
while($e = mysql_fetch_array($d)){
echo $e['name_field'];
}
$b++;
}
我想循环输出,但我卡住了。我已经尝试但仍然一无所获。 像这样的东西:
<?php
$a = 0;
$b = 0;
for($a=0;$a<10;$a++){
for($b=0;$b<10;$b++){
echo $b;
}
}
答案 0 :(得分:3)
以空格分隔*
和FROM
。使用反引号或没有分隔符而不是表名的单引号。
如果您想限制结果,请在查询中添加LIMIT
表达式:
SELECT * FROM `table_name` LIMIT 10
然后循环结果:
while($row = mysql_fetch_array($d)){
echo $row['name_field'];
}
答案 1 :(得分:2)
你没有在任何地方增加$ b。它被设置为1并且从未增加,所以它总是小于10。
答案 2 :(得分:2)
您的查询错误,因为表名不应该是单引号,您可以使用反引号。
如果您想限制结果只显示10行,请在查询中添加LIMIT
,这应该是
$d = mysql_query("select * from `table_name` limit 10");
删除外循环
while($e = mysql_fetch_array($d)){
echo $e['name_field'];
}
修改强>
您可能希望结果显示10次。只需将查询放在外部while循环中。
$b = 0;
while($b < 10)
{
$d = mysql_query("select * from `table_name`");
while($e = mysql_fetch_array($d))
{
echo $e['name_field'];
}
$b++;
}
答案 3 :(得分:2)
$d = mysql_query("select *from `table_name` LIMIT 10"); // use back-ticks and limit in query
while($e = mysql_fetch_array($d)){
echo $e['name_field'];
}
答案 4 :(得分:0)
如果您想要输出前9行(1 ..&lt; 10)的'name_field',您可以使用:
$d = mysql_query("SELECT * FROM `table_name` LIMIT 9");
while ($e = mysql_fetch_array($d)) {
echo $e['name_field'];
}
但是,如果您想在循环结构中为所有行输出'name_field'9次(1 ..&lt; 10),则只需在循环结束时添加以下两行:
mysql_data_seek($d, 0);
$b++;
结果代码为:
$b = 1;
$d = mysql_query("SELECT * FROM `table_name` LIMIT 9");
while ($b < 10) {
while ($e = mysql_fetch_array($d)) {
echo $e['name_field'];
}
mysql_data_seek($d, 0);
$b++;
}