php - 使用 if 语句显示 JOIN 的多个结果

标签 php mysql join conditional-statements fetch

我有这个 JOIN,它让我得到的不仅仅是结果:

at.tipo AS atividade,
at.data AS datacadastro,
at.user AS usercadastro, 

LEFT JOIN atividades at
        ON (at.produto = '$produto')
        AND (at.tipo = 'cadastra' OR at.tipo = 'revisado')  

我有:if string = 'cadastra' 显示某些内容if string = 'revisado' 显示其他内容

<?php

    if ($row['atividade'] == 'cadastra') {  
        echo '<div id="user-img">';
        echo '<img src="http://'.$row['imguser'].'"/></div>';   
        echo '<div id="user-cadastro" class="greytxt">';                    
        echo 'Cadastrado por <br>' .$row['usercadastro']. '<br>em ';
        echo $row['datacadastro']. '</div>';
    }

?>

<?php

    if ($row['atividade'] == 'revisado') {  
        echo '<div id="user-img">';
        echo '<img src="http://'.$row['imguser'].'"/></div>';   
        echo '<div id="user-cadastro" class="greytxt">';                    
        echo 'Cadastrado por <br>' .$row['usercadastro']. '<br>em ';
        echo $row['datacadastro']. '</div>';
    } 

?>    

问题是,它只显示第一个结果,而不是全部。

如何显示所有结果?

编辑:

我在一个大查询中有这个 JOIN,它给了我其他重要的行。 但我只想要这个主要查询 (WHERE = $produto) 的一个结果,并希望从我的 JOIN 表中获得更多结果。

$rows = $result->num_rows;  

for ($j = 0; $j < $rows; ++$j) {
    $result -> data_seek($j);
    $row = $result->fetch_array (MYSQLI_ASSOC);

?>

我的结果应该是这样的,但 JOIN 仅显示行“cadastra”。 My result should be this, but JOIN shows just row 'cadastra'.

最佳答案

while 循环中使用 $result->fetch_array (MYSQLI_ASSOC)

while ($row = $result->fetch_array (MYSQLI_ASSOC)) {

 if ($row['atividade'] == 'cadastra')
        {   
  echo '<div id="user-img">';
  echo '<img src="http://'.$row['imguser'].'"/></div>'; 
  echo '<div id="user-cadastro" class="greytxt">';                  
  echo 'Cadastrado por <br>' .$row['usercadastro']. '<br>em ';
  echo $row['datacadastro']. '</div>';
            } ?>

 <?php if ($row['atividade'] == 'revisado')
        {   
  echo '<div id="user-img">';
  echo '<img src="http://'.$row['imguser'].'"/></div>'; 
  echo '<div id="user-cadastro" class="greytxt">';                  
  echo 'Cadastrado por <br>' .$row['usercadastro']. '<br>em ';
  echo $row['datacadastro']. '</div>';
            }
}

关于php - 使用 if 语句显示 JOIN 的多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29872480/

相关文章:

php - mySQL PHP 查询将结果分组排列

php - 对于存储在 DynamoDB 中的 PHP Session,我可以使用具有自动 TTL 功能的 "expires"字段吗

mysql - 在指定了 ORDER BY 和 LIMIT 并且实际上只需要连接少量行的 JOIN 情况下,MySQL 的行为如何?

php - PDO 参数绑定(bind)问题

mysql - 绝对的初学者,尝试在 MySQL 中限制和排序 DELETE/JOIN 查询

java - 与其他 'server' 应用程序相比,servlet 的用途、重要性

php - 在 PHP PostgreSQL 查询结果中找到或未找到结果时显示消息

python - 如何在Python中对数据框中的分类变量(系列)进行编码?

MySQL 加入子查询

php - CodeIgniter 表单验证无法正常工作