首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有更好的方法包括()依赖于变化的MySQL查询的PHP循环?

是否有更好的方法包括()依赖于变化的MySQL查询的PHP循环?
EN

Stack Overflow用户
提问于 2010-02-03 02:25:45
回答 1查看 169关注 0票数 0

我有一个大型的PHP循环,我在我的站点的多个页面上的多个点上重复使用它。我通常只需要使用include()来设置PHP循环,但是问题中的PHP循环使用了一个MySQL查询,在这个查询中,我需要为这个PHP循环的不同实例更改变量(不同的过滤器和不同的限制)。

代码语言:javascript
复制
<?php 
    $results = mysql_query("SELECT * FROM databaseName ORDER BY columnName DESC, otherColumnName DESC LIMIT 6", $connection);
    if (!$results) {
        die("Database Query Failed");
    }
?>

<?php
    while ($variable = mysql_fetch_array($results)) {
        ----Execute this loop----
    };
?>

然后我回忆起我需要它的地方

代码语言:javascript
复制
<?php include("/filepath/includedfile.php"); ?>

所有操作都很好,直到我将实际的MySQL查询从包含的文件中取出,并将其放在包含PHP的每个实例之前(这样我就可以控制每个查询实例的某些变量)。现在,MySQL查询和包含的PHP循环似乎没有以相同的方式进行通信,我收到了以下警告:

“警告: mysql_fetch_array():MySQL提供的参数不是第3行/home/filepathhere/”<上的一个有效的MySQL结果资源

我觉得所包含的PHP正在包含的文件中运行,然后被注入到主页中。在运行之前,我需要将代码注入主页面。

有比"include()“更好的方法将PHP循环注入主页面吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-03 02:36:33

似乎是学习functionsfunction arguments的好时机。:)

详细说明:including文件是重用代码的一种方法,但正如您所经历的,没有控制的方法可以更改该代码的行为。函数具有一个明确定义的接口,可以将参数传递到函数中,您可以在函数内部使用该接口来更改其行为。

代码语言:javascript
复制
function my_big_loop($condition) {

    // preparations

    $condition = mysql_real_escape_string($condition);  // always! even for simple examples. :)
    $results = mysql_query("SELECT * FROM somewhere WHERE x = '$condition'");

    // do loopy stuff

    return $big_pile_of_HTML;
}

echo my_big_loop('somecondition');
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2189232

复制
相关文章

相似问题

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