我有一个包含页面内容的MySQL表,每行内容都有一个page_id号
我想加载我所在页面的所有变量,然后将它们显示在需要的位置...
我正在命名变量:div_1,div_2,div_3等等
这就是我正在尝试的事情:
PHP
$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++;
}
然后整个页面我都可以
echo $div_1;
blah blah blah
echo $div_2
blah blah blah
echo $div_3
etc etc
但是我什么都没有回来,我甚至不确定这是否是做这种事情的正确逻辑?
答案 0 :(得分:1)
使用数组。
$div[$i] = $p1[0];
通过页面,您可以:
echo $div[1];
blah blah blah
echo $div[2];
blah blah blah
echo $div[3];
etc etc
如果您想保留结构结构,请使用:
$tempname = "div_".$i;
$$tempname=$p1[0];
答案 1 :(得分:0)
将它组织成这样的数组:
$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++;
}
然后你可以通过
访问第一行echo $results[0]; // second by $results[1] and so on.
玩得开心!
答案 2 :(得分:0)
您无法创建如下变量:
$div_.$i = $p1[0];
你应该将它们放入这样的数组中:
$div_array = array();
然后
$div_array[$i] = $p1[0];
现在您可以通过直接引用数组来输出它们:
echo $div_array[1];
或者你可以使用extract:
将数组扩展为变量extract($div_array, EXTR_PREFIX_ALL, 'div_');
现在你有$ div_ $ i变量。
答案 3 :(得分:0)
为了达到你想要的目的,你应该做下一件事:
$home_p1 = mysql_query("select div_content from page_content where (page_id = '1');",$db);
$i=1;
while ($p1 = mysql_fetch_array($home_p1)){
$name = 'div_' . $i;
$$name = $p1[0];
$i++;
}
您将获得名称为$ div_1,$ div_2等的变量列表。 http://www.php.net/manual/en/language.variables.variable.php
但正如所说,最好的方法是使用数组。
$home_p1 = mysql_query("select div_content from page_content where (page_id = '1');",$db);
$i=1;
$divs = Array();
while ($p1 = mysql_fetch_array($home_p1)){
$divs['div_' . $i] = $p1[0];
$i++;
}