首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从while循环加载变量

从while循环加载变量
EN

Stack Overflow用户
提问于 2012-02-28 18:28:29
回答 4查看 58关注 0票数 0

我有一个包含页面内容的MySQL表,每行内容都有一个page_id编号

我想要加载我所在页面的所有变量,然后将它们显示在需要它们的地方……

我将变量命名为: div_1、div_2、div_3等

这是我正在尝试的:

PHP

代码语言:javascript
运行
复制
$home_p1 = mysql_query("select div_content from page_content where (page_id = '1');",$db);

$i=1;
while ($p1 = mysql_fetch_array($home_p1)){
$div_.$i = $p1[0];
$i++;
}

然后在整个页面中我可以

代码语言:javascript
运行
复制
echo $div_1;
blah blah blah
echo $div_2
blah blah blah
echo $div_3
etc etc

但是我什么也得不到,我甚至不确定这样做的逻辑是否正确?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-28 18:32:55

使用数组。

代码语言:javascript
运行
复制
$div[$i] = $p1[0];

通过该页面,您可以:

代码语言:javascript
运行
复制
echo $div[1];
blah blah blah
echo $div[2];
blah blah blah
echo $div[3];
etc etc

如果你想保持你的结构结构,那么使用:

代码语言:javascript
运行
复制
$tempname = "div_".$i;
$$tempname=$p1[0];

有关更多详细信息,请参阅this (第一种解决方案)和this (第二种解决方案)。

票数 1
EN

Stack Overflow用户

发布于 2012-02-28 18:33:25

将其组织成如下数组:

代码语言:javascript
运行
复制
$home_p1 = mysql_query("select div_content from page_content where (page_id = '1');",$db);
$results = array();
$i=1;
while ($p1 = mysql_fetch_array($home_p1)){
    //$div_.$i = $p1[0];
    $results[] = $p1[0];
    $i++;
}

然后,您可以通过以下方式访问第一行

代码语言:javascript
运行
复制
echo $results[0]; // second by $results[1] and so on.

玩得开心!

票数 0
EN

Stack Overflow用户

发布于 2012-02-28 18:36:04

您不能像这样创建变量:

代码语言:javascript
运行
复制
$div_.$i = $p1[0];

您应该像这样将它们放入一个数组中:

代码语言:javascript
运行
复制
$div_array = array();

然后

代码语言:javascript
运行
复制
$div_array[$i] = $p1[0];

现在您可以通过直接引用数组来输出它们:

代码语言:javascript
运行
复制
echo $div_array[1];

或者,您可以使用extract将数组扩展为变量:

代码语言:javascript
运行
复制
extract($div_array, EXTR_PREFIX_ALL, 'div_');

现在,您有了$div_$i变量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9480248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档