Php 查询为#个条目显示相同的结果
我使用下面的代码,每个条目都重复最近的条目,而不是显示所有条目 代码:Php 查询为#个条目显示相同的结果,php,repeat,Php,Repeat,我使用下面的代码,每个条目都重复最近的条目,而不是显示所有条目 代码: $sql="SELECT theday.day_id, actornames.actorname, theday.personwhois, actornames.whyactor, theday.daydate FROM theday LEFT JOIN actornames ON theday.personwhois = actornames.actor_id WHERE ac
$sql="SELECT theday.day_id, actornames.actorname,
theday.personwhois, actornames.whyactor,
theday.daydate FROM theday LEFT JOIN actornames
ON theday.personwhois = actornames.actor_id WHERE
actornames.group_id = '$gi' ORDER BY theday.id DESC";
$result=mysql_query($sql);
$query = mysql_query($sql) or die ("Error: ".mysql_error());
$result = mysql_query($sql);
if ($result == "")
{
echo "";
}
echo "";
$rows = mysql_num_rows($result);
if($rows == 0)
{
print("");
}
elseif($rows > 0)
{
while($row = mysql_fetch_array($query))
{
// All other fields I am using the $variable method below to show them
$day = mysql_result($result,$i,"day_id");
例如:
如果我有十个唯一的行,它会用最近的条目重复十行:
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
Angelina Jolie, Wanted, Original Sin, Taking lives
是否从row变量输出结果 首先尝试清理代码,下一个示例代码应该完成查询的基本部分
$sql="SELECT theday.day_id, actornames.actorname,
theday.personwhois, actornames.whyactor,
theday.daydate FROM theday LEFT JOIN actornames
ON theday.personwhois = actornames.actor_id WHERE
actornames.group_id = '$gi' ORDER BY theday.id DESC";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
print_r($row);
// additional formatting
}
我只需要使用$row['row_name'];而不是我所拥有的 您的代码存在多个问题 a) 不要运行查询三次,也不要存储结果资源的两个副本(
$query
和$results
是重复的)。这是对资源的巨大浪费
b) 您正在执行$query
(在while循环中)循环,同时尝试从$result
中提取数据。$result
的内部指针未更新,因此您永远不会从第一行前进。同样,只运行一次查询就可以解决这个问题
c) mysql\u result
的第二个参数是行的数字偏移量。您使用的是未定义的$i
,因此其默认值为0。将其更改为$row
无法解决问题,因为$row
是一个数组。你需要使用计数器。或者,更好的是,因为您已经在获取数组,所以不要使用mysql\u result
period,因为它效率低下且冗余
$sql = ...
$result = mysql_query($sql) or die ("Error: ".mysql_error());
$rows = mysql_num_rows($result);
if($rows > 0)
{
while($row = mysql_fetch_assoc($result))
{
$day = $row['day_id'];
// ...
}
}
您的代码不完整。请发布完整的
while
循环。@Felix这就是我的全部。我正在使用print$变量显示所有内容。@AAA:至少有两个}
缺少。。。您发布的代码不会生成此输出。您能修复代码格式吗?您知道您执行了三次该查询吗?您好,是的,我只看到所有条目的最新结果。然后,我想这不是您的php代码,而是您正在运行的查询。是的,我需要使用$row['row_name'];其实没那么简单,看看我的答案。