【问题标题】:Create a variable for while loop results为 while 循环结果创建一个变量
【发布时间】:2011-09-08 05:23:24
【问题描述】:
while ($topic = mysql_fetch_assoc ($result)); {
   echo "{$topic["overtag "]} ";
}

我的 while 循环的结果显示如下: 苹果橙香蕉

我希望能够获取所有这些结果并将它们放入一个变量中并使其看起来像这样: $fruits = 苹果橙香蕉

我怎样才能做到这一点?

【问题讨论】:

    标签: php mysql arrays while-loop echo


    【解决方案1】:

    使用下面的PHP代码,您可以从数据库表中获取数据并显示在网页上:

        $sql_query="select * from yourTable";   
        $result=mysqli_query($connection,$sql_query); 
        if(mysqli_num_rows($result) > 0)
        { 
          while($row = $result->fetch_array(MYSQLI_ASSOC))
          { 
            echo "ID ".$row[0];//echo "ID ".$row["ID"];
            echo "Name ".$row[1];//echo "Name ".$row["Name"];
           }
        }
        else
        {
          echo "No Record";
        }
    

    【讨论】:

    • 欢迎来到 Stack Overflow!虽然此代码 sn-p 可能是解决方案,但including an explanation 确实有助于提高您的帖子质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    【解决方案2】:
    // I love arrays.
    $fruits = array();
    while ($topic = mysql_fetch_assoc ($result)); {
       $fruits[] = (string)$topic["overtag "];
    }
    
    // If you don't want an array, but a string instead, use implode:
    
    $fruits = implode(' ', $fruits)
    

    【讨论】:

    • 感谢 GolezTrol,但是当我这样做时,结果只是显示“数组”,我的实际数组没有出现。
    • 我在第 [] 3 行 $fruits 之后去掉了 [] 括号,这给了我想要的结果,但只有当我在 while 循环中回显时。当我在 while 循环之外回显 $fruits 时,我只得到一个结果,这意味着我只得到“苹果”而不是“苹果橙香蕉”
    • 如果您愿意,可以使用 implode 来内爆数组,如循环下的代码行所示。您当然可以只连接字符串,但实际上在许多情况下,您需要使用从数据库中检索到的独立值,这就是我将它们放在数组中的原因。数组是保存数据列表的非常强大的工具。如果您想将数组中的值转换为单个字符串,可以使用implode
    【解决方案3】:

    你只需要将每一个连接到循环内的变量上

    $fruits = "";
    while ($topic = mysql_fetch_assoc ($result)); {
      echo "{$topic["overtag "]} ";
      $fruits .= $topic['overtag'] . " ";
    }
    // This is going to result in an extra space at the end, so:
    $fruits = trim($fruits);
    

    哦,还有,你有一个错误的分号会破坏你的 while 循环:

    while ($topic = mysql_fetch_assoc ($result)); {
                                       --------^^^--
    

    应该是:

    while ($topic = mysql_fetch_assoc ($result)) {
    

    【讨论】:

      【解决方案4】:

      连接运算符 .=

      $fruits = '';
      while ($topic = mysql_fetch_assoc ($result)); {
          $fruits .= "{$topic["overtag "]} ";
      }
      

      【讨论】:

      • 这是我的偏好 $result .= $rows[ 'name' ];
      猜你喜欢
      • 2012-04-12
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      相关资源
      最近更新 更多