【问题标题】:H-elp me? PHP MYSQL帮我? PHP MYSQL
【发布时间】:2015-04-18 20:51:30
【问题描述】:

1º) 查看 mysql 地图

示例: [翻译以便更好地理解图表]

pergunta(EN 中的问题):谁发现了美国?

commentario(CN 中的 cmets):Pablo

commentario nº2(comment nº2 in EN): Daniel

不好的结果:

谁发现了美国?

评论:巴勃罗

谁发现了美国?

2º 评论:丹尼尔

我需要什么(好结果):

谁发现了美国?

评论:巴勃罗

2º 评论:丹尼尔

如何获得好的结果?

当前 SQL 查询:

SELECT 
user_ID, Nome, userphoto, question_ID, autor_id, titulo,pergunta, curtidas, comentario_ID, comentario_question_ID, comentario_autor, comentario, comentario_curtidas 
FROM
perguntador as a 
LEFT OUTER JOIN 
perguntadorrespostas
ON 
perguntadorrespostas.comentario_question_id = a.question_id
LEFT OUTER JOIN 
login
ON 
a.autor_id = login.user_id 
ORDER BY
question_ID desc

传说:

comment = [row] 评论

问题 = [row] pergunta

我解释得很糟糕,对不起,这些代码我快疯了..

我认为 UNION ALL 可以解决这个问题,但我不知道该怎么说

一些细节:

我与

while($row = $result->fetch_assoc()) {
    echo "" . $row["pergunta"] . " " . $row["comentario"] . "<br>"; 
}

我希望 cmets 在同一个 question_id 中,而不是每个都有评论的重复项,你知道吗?

【问题讨论】:

    标签: php mysql mysqli


    【解决方案1】:

    在查询中使用 LEFT JOIN。试试这个

    $res = mysql_query("SELECT * FROM login 
    LEFT JOIN perguntador ON user_id=autor_id 
    LEFT JOIN perguntadorrespostas ON question_id=comentario_question_id");
    
    
    while($rw=mysql_fetch_object($res)){
    $pergunta = $rw->pergunta;
    $comentario = $rw->comentario;
    }
    

    【讨论】:

    • 同样的结果,我希望 cmets 在同一个 question_id 中,而不是每个都有评论的重复项,你知道吗?
    猜你喜欢
    • 2011-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    相关资源
    最近更新 更多