Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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
Php 查询为#个条目显示相同的结果_Php_Repeat - Fatal编程技术网

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'];其实没那么简单,看看我的答案。