-1
我得到一个插件,出于某种原因将数据保存在真正烦人的地方(3个不同的表格在相同的名称下)。合并多个记录到一个输出
我添加了4个字段到我想在元素中回显的cms。功能,名称,文字和图像。问题是所有4个数据库都以相同名称存储在data
中。他们唯一的区别是他们的field_id
。
所以我得到了正确的查询它得到我需要的所有数据,我的查询如下:
SELECT ct . * , fe . * , cn . * , dt . *
FROM web_content ct
INNER JOIN web_fieldsandfilters_elements fe ON fe.item_id = ct.id
INNER JOIN web_fieldsandfilters_connections cn ON cn.element_id = fe.id
INNER JOIN web_fieldsandfilters_data dt ON dt.element_id = fe.id
WHERE ct.id
IN (
'46'
)
上述查询同一行多次只用数据是不同的返回。所以当我循环输出时,它会多次显示元素,而不是一次。
如何合并输出?
我与查询整个循环,因为我有现在:
<?
//Query om referentie op de dienstenpage te laten zien
$referentie = "
SELECT ct.*, fe.*, cn.*, dt.*
FROM web_content ct
INNER JOIN web_fieldsandfilters_elements fe on fe.item_id = ct.id
INNER JOIN web_fieldsandfilters_connections cn on cn.element_id = fe.id
INNER JOIN web_fieldsandfilters_data dt on dt.element_id = fe.id
WHERE ct.id IN ('".$contentcr[0]['id']."')";
$referentiecon = $conn->query($referentie);
$referentiecr = array();
while ($referentiecr[] = $referentiecon->fetch_array());
?>
<div class="container">
<div class="row">
<div class="col-md-12 wow fadeInUp animated animated">
<?
foreach($referentiecr as $referentietext){
if($referentietext['field_id'] != ''){
if($referentietext['field_id'] == '8'){
$referentie_images = $referentietext['data'];
$ref_pictures = json_decode($referentie_images);
if($ref_pictures->{'image'} != ''){
$image = 'cms/'.$ref_pictures->{'image'};
}else{
$image .= '';
}
}
if($referentietext['field_id'] == '5'){
$naam = $referentietext['data'];
}
if($referentietext['field_id'] == '6'){
$text = $referentietext['data'];
}
if($referentietext['field_id'] == '7'){
$functie = $referentietext['data'];
}
$refoverzicht .= '
<div class="col-md-4">
<img src="'.$image.'" style="max-width:100%;">
</div>
<div class="col-md-8">
<blockquote>
<p style="font-size: 14px;">
'.$text.'
<br>
<em>– '.$naam.' – '.$functie.'</em>
</p>
</blockquote>
</div>';
}
}
echo $refoverzicht;
?>
在下列所得:
我是否错过了你的观点或者你应该在'SELECT'子句中使用GROUP BY ct.id'和'GROUP_CONCAT'? –