-1
何らかの理由で本当に迷惑な場所(同じ名前の3つの異なるテーブルなど)にデータを保存するプラグインがあります。複数のレコードを1つの出力にマージする
要素にエコーしたいCMSに4つのフィールドを追加しました。機能、名前、テキスト、画像。問題は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'
)
上記のクエリは、データのみが異なっていると、同じ行を複数回返します。 。だから私は出力をループするとき、それはただ1つの時間の代わりに複数の要素を表示します。
どうすれば出力をマージできますか?私は今それを持っているように、クエリと
マイループ全体:
<?
//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'をsseするだけですか? –