我们有 2 while循环,我们正在显示 2个不同的结果。
我们需要合并或不合并我们需要合并2个结果。
在下图中,
第一次循环结果=>第1排,第2排,第6排。
第二次循环结果=>第3,第4,第5行。
我们需要第3,第4和第第5行导致最后2列中的第1行,第2行第6行[付费状态&佣金]。
第一,结果来自数据库1&第二,而结果来自数据库2,表格为[ order_details ]
$result = mysqli_query($con,$sql);
我尝试了下面的代码,但结果如下图所示 - 意味着只显示了2行而不是23行....
//WebApi
public List<ResourceDTO> GetWebAppLeaders()
{
List<ResourceDTO> webappLeaders = new List<ResourceDTO>();
//Linq to get a list of employees that take part of WebApp
var people = from x in _staffCtx.Resources
where (x.Active.HasValue && x.Active.Value && x.ManagerID.HasValue && x.FirstName.Length > 0)
select new ResourceDTO()
{
FirstName = x.FirstName,
LastName = x.LastName,
ResourceID = x.ResourceID,
};
webappLeaders = people.ToList();
foreach (var person in webappLeaders)
{
int personID = person.ResourceID;
person.webappPupil = from u in _webappCtx.CompanyWebAppViews
where (u.PupilID == personID)
select new WebappDTO()
{
webappID = u.ID,
};
person.webappPupil.ToList();
person.webappTeacher = from u in _webappCtx.CompanyWebAppViews
where (u.TeacherID == personID)
select new WebappDTO()
{
webappID = u.ID,
};
person.webappTeacher.ToList();
}
return webappLeaders.ToList();
}
//ResourceDTO
public class ResourceDTO
{
public int ResourceID { get; set; }
public string Email { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string JobTitle { get; set; }
public string ExtensionNumber { get; set; }
public string MobileNumber { get; set; }
public string MobileSpeedDial { get; set; }
public string IMAddress { get; set; }
public int? ManagerID { get; set; }
public string ManagerName { get; set; }
public string DepartmentType { get; set; }
//WebApp specific
public IQueryable<WebAppDTO> webappPupil { get; set; }
public IQueryable<WebAppDTO> webappTeacher { get; set; }
}
//WebAppDTO
public class WebAppDTO
{
public int webappID { get; set; }
public string pupilName { get; set; }
public string teacherName { get; set; }
public string webappDate { get; set; }
public string pupilLearnt { get; set; }
public string pupilComments { get; set; }
public string teacherComments { get; set; }
public List<WebAppDTO> WebApp { get; set; }
}
整页看起来如下:
我是php world&amp;的新手在发布之前尝试了很多....
答案 0 :(得分:0)
无论何时使用空括号[],都会自动分配索引,该索引等于下一个可用的数值,并且您的数据最终会在下一个位置结束,因此需要正确的索引才能解决此问题。
同时(($k < count($orderitemsarray)) && ($data = $stmt->fetch()))
如果任何一个条件失败,那么循环结束,而你的$data
可能只有三个条目它只显示那么多,即使$orderitemsarray
有更多,我不确定但你可以大量替换{{ 1}}使用while
语句并更改索引,以使这些内容附加在同一行
if
编辑:我的坏,不理我的上一条评论试试这个
$indx=0;
foreach($order as $orderData)
{
$k = 0;
//.. Stufff
/* 2nd while */
if($indx == 0 || $indx == 1 || $indx == 5)
{
if($data = $stmt->fetch())
{
$size = count($responce); // get size from that get its last index
$responce[$size-1] = array(
$data['dorder_id'],
$data['dpaid_status'],
$data['commission']
);
$k++; //<-- not sure why it's here but doesn't matter may be some magento stuff?
}
}
$indx++
}