a.php 文件
$sql="select.....";
$c=$mysqli->query($sql);while($r=$c->fetch_assoc()){
$a=$r[id];
$b=$r[name];
$c=$r[fenlei];
if($b=='guoji'){
include 'b.php';
b($a,$b,$c)
}
if($b=='guonei'){
include 'c.php';
c($a,$b,$c)
}
if($b=='guangdong'){
include 'd.php';
d($a,$b,$c)
}
}b.php文件function b($a,$b,$c){
global $mysqli;
$sql='select .....';
获取内容...
替换模版内容...
得到变量 $a ,$b ,$c
开始生成....
include 'shengchengIndex.php';
shengchengIndex($a,$b,$c)
}
c.php文件
[code=php]
function b($a,$b,$c){
global $mysqli;
$sql='select .....';
获取内容...
替换模版内容...
得到变量 $a ,$b ,$c
开始生成....
include 'shengchengIndex.php';
shengchengIndex($a,$b,$c)
}d.php文件
[code=php]
function b($a,$b,$c){
global $mysqli;
$sql='select .....';
获取内容...
替换模版内容...
得到变量 $a ,$b ,$c
开始生成....
include 'shengchengIndex.php';
shengchengIndex($a,$b,$c)
}b c d .php 三个文件单个传递变量过去函数,他是能完整执行生成的。如果通过a.php 的while 循环 则就麻烦了。只有最后一个能执行完整的,其他的都不执行,
虽然是不执行,但它能入库数据到库里,只是不能生成HTML而已。就最后一个能生成。
$sql="select.....";
$c=$mysqli->query($sql);while($r=$c->fetch_assoc()){
$a=$r[id];
$b=$r[name];
$c=$r[fenlei];
if($b=='guoji'){
include 'b.php';
b($a,$b,$c)
}
if($b=='guonei'){
include 'c.php';
c($a,$b,$c)
}
if($b=='guangdong'){
include 'd.php';
d($a,$b,$c)
}
}b.php文件function b($a,$b,$c){
global $mysqli;
$sql='select .....';
获取内容...
替换模版内容...
得到变量 $a ,$b ,$c
开始生成....
include 'shengchengIndex.php';
shengchengIndex($a,$b,$c)
}
c.php文件
[code=php]
function b($a,$b,$c){
global $mysqli;
$sql='select .....';
获取内容...
替换模版内容...
得到变量 $a ,$b ,$c
开始生成....
include 'shengchengIndex.php';
shengchengIndex($a,$b,$c)
}d.php文件
[code=php]
function b($a,$b,$c){
global $mysqli;
$sql='select .....';
获取内容...
替换模版内容...
得到变量 $a ,$b ,$c
开始生成....
include 'shengchengIndex.php';
shengchengIndex($a,$b,$c)
}b c d .php 三个文件单个传递变量过去函数,他是能完整执行生成的。如果通过a.php 的while 循环 则就麻烦了。只有最后一个能执行完整的,其他的都不执行,
虽然是不执行,但它能入库数据到库里,只是不能生成HTML而已。就最后一个能生成。
那么第二轮循环将会报错!shengchengIndex 被重复定义了
A呀。版哥,我搞错了。shengchengIndex.php 都是不同文件的。
例如
函数 b 就引用 b.phpc.php
c()d.php
d()这样的调用,不会被重复定义的了。当让也会有,在A.PHP里的WHILE循环里,第一次循环和第二次循环都是调用1个函数。
A呀。版哥,我搞错了。shengchengIndex.php 都是不同文件的。
例如
函数 b 就引用 b.phpc.php
c()d.php
d()这样的调用,不会被重复定义的了。当让也会有,在A.PHP里的WHILE循环里,第一次循环和第二次循环都是调用1个函数。完全搞错了。
b c d .php 三个文件 调用 shengchengindex.php 文件。这个文件的里的函数,就是个过程。完了就完了。
重负被定义,是正常的事情,但不会同时被使用的哦。
你能确认 name 是唯一的吗?(只有3条记录?)include 'shengchengIndex.php'; 后,其中定义的 shengchengIndex 函数是不会消失的如果仅仅是个过程,那么就不能定义成函数
if (!function_exists('shengchengIndex')) {
include 'shengchengIndex.php';
}
shengchengIndex($a,$b,$c)
另外不见得是你的代码写在下面,就是最后执行,或许while第一次的循环就是走的
$b=='guangdong' 这个分支
而后面无论任何分支,都是会报重复定义错误