在函数内部使用循环

时间:2010-06-25 04:43:40

标签: php function while-loop

我还在学习功能以及它们的工作原理。我知道我做错了什么,而不是如何解决它。我正在编写一个函数来从数据库中提取图像数据并将其返回到屏幕上。它可以工作,但如果有多个图像,它将仅返回最后一个图像。我知道问题是$project_image只返回最后一个图像,因为while循环的工作方式,但我的问题是我怎么能不使用while循环或者让它添加多个图像到{{ 1}}变量。

功能简化

$project_image

1 个答案:

答案 0 :(得分:3)

您的while条件没问题,但您似乎在$project_image_row$project_image_result中提取了两次,因此您将跳过其他所有图片。只需获取一次数组(在while循环中是好的),并在循环中使用$project_image_result而不是$project_image_row来引用该数组:

while($project_image_result = mysql_fetch_array($project_image_qry)) {
    if($src=="true"){
        $project_image .= '<img src="'.admin_settings('site_url').admin_settings('image_main_dir').'/'.$project_image_result['i_name'].'" alt="project_image"/>';   
    }
    else{
        $project_image .= $project_image_result['i_name'];
    }
}

此外,似乎默认情况下您告诉它只从数据库请求一个图像。您有一个默认参数$limit=1,并使用SQL LIMIT来过滤结果,因此除非您将第四个参数传递给get_project_image,否则mysql_query只会返回一个结果(你没有包括对get_project_image的调用,所以我不确定你是否处理了