douganggu4392 2019-04-21 17:36
浏览 166
已采纳

使用php从while循环语句中的不同表中获取值

I'm having an issue of retrieving values from two different tables. Here's the code so far:

$result = mysqli_query($conn,"SELECT * FROM articles");
$num = mysqli_num_rows($result);

while ($row = mysqli_fetch_array($result)) {
    $uid=$row['_uid'];

    $result2 = mysqli_query($conn, "SELECT _username FROM users WHERE _id = '$uid' ";
    $num2 = mysqli_num_rows($result2);

    while ($row2 = mysqli_fetch_array($result2)) {
        $username = $row2['_username'];
    }
    $divtext='<h3>'.$row['_posttype'].'</h3> <h2>'.$username.' </h2>';
}    

I've been reading that I should preform this while inside a while with multiple query, also found on w3 that you could directly assign a value to a variable directly using:

"SELECT _username INTO $username FROM users WHERE  _id = '$uid'  LIMIT 1";    

But this works in SQL inside myadmin, in a php I can't find how to cast it. I have also replace the fetch_row for fetch_assoc and still nothing, im struggling for two days already with this.

  • 写回答

1条回答 默认 最新

  • dssu33392 2019-04-21 17:44
    关注

    you could select al the value using a single query

    SELECT a._uid , a._posttype, u._username 
    FROM articles a
    INNER JOIN users u on a._uid = u._id 
    

    ..

    $result = mysqli_query($conn,
      "SELECT a._uid , a._posttype, u._username 
      FROM articles a
      INNER JOIN users u on a._uid = u._id");
    $num = mysqli_num_rows($result);
    
    while ($row = mysqli_fetch_array($result)) {
    
        $divtext='<h3>'.$row['_posttype'].'</h3> <h2>'.$username.' </h2>';
    
    }  
    
    $echo $divtext;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭