为 while 循环结果创建一个变量
Posted
技术标签:
【中文标题】为 while 循环结果创建一个变量【英文标题】:Create a variable for while loop results 【发布时间】:2011-09-08 05:23:24 【问题描述】:while ($topic = mysql_fetch_assoc ($result));
echo "$topic["overtag "] ";
我的 while 循环的结果显示如下: 苹果橙香蕉
我希望能够获取所有这些结果并将它们放入一个变量中并使其看起来像这样: $fruits = 苹果橙香蕉
我怎样才能做到这一点?
【问题讨论】:
【参考方案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' ];以上是关于为 while 循环结果创建一个变量的主要内容,如果未能解决你的问题,请参考以下文章
while循环操作,输入一个整数放入到变量n中, 如果这个整数大于0,那么计算1+2+3+……+n的结果, 否则输出“输入的数据有错误”。