gpt4 book ai didi

php - 在函数内部使用循环

转载 作者:行者123 更新时间:2023-12-04 06:51:09 24 4
gpt4 key购买 nike

我仍在学习函数及其工作原理。我知道我做错了什么,只是不知道如何解决它。我正在编写一个函数来从数据库中提取图像数据并将其返回到屏幕上。它有效,但如果有多个图像,它将仅返回最后一个图像。我知道问题在于 $project_image由于 while 循环的工作方式,仅返回最后一张图像,但我的问题是我如何不使用 while 循环或使其向 $project_image 添加多个图像多变的。

缩略函数

   function get_project_image($id,$type="thumb",$src="false",$limit=1){
if($type =="main"){
$project_image_qry = mysql_query(" SELECT i_name FROM `project_images` WHERE i_project_id = '$id' AND i_type= '2' LIMIT $limit " ) or die(mysql_error());
$project_image="";
while($project_image_row = mysql_fetch_array($project_image_qry)) {
$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'];
}
}
}
return $project_image;
}

最佳答案

您的 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 的调用,所以我不确定你是否处理了这个

关于php - 在函数内部使用循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3115607/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com