連結結果を生成する複雑なクエリがあります。しかし、他の目的にはGROUP_CONCAT
が必要ですが、連結された文字列を個別に使用できる必要があります。連結結果を個別に使用する
GROUP_CONCAT(id, name, date AS concat1
echo $db_field['concat1'];
が...この出力を生成しますIdNameDate
、と私は使用(およびエコー)個別ID、名前や日付をできるようにする必要があります。私はそれが配列に割り当てられなければならないと思う、私はPHPの初心者であり、本当に助けに感謝します。私はid
代わりのeventid
、name
代わりのeventname
とdate
の代わりeventstartdate
を使用している上記の簡略化のために
、。以下は完全なコードです。
if ($db_found) {
$SQL ="
select sportname,
tournament_templatename,
tournament_stagename,
GROUP_CONCAT(eventid, eventname, eventstartdate SEPARATOR '<br />') as concat1
from (
SELECT event.id AS eventid,
event.name AS eventname,
event.tournament_stageFK AS eventtournamentstageFK,
event.startdate AS eventstartdate,
tournament_stage.id AS tournament_stageid,
tournament_stage.name AS tournament_stagename,
tournament_stage.tournamentFK AS tournament_stagetournamentFK,
tournament.id AS tournamentid,
tournament.name AS tournamentname,
tournament.tournament_templateFK AS tournamenttournament_templateFK,
tournament_template.id AS tournamenttemplateid,
tournament_template.name AS tournament_templatename,
tournament_template.sportFK AS tournament_templatesportFK,
sport.id AS sportid,
sport.name AS sportname
FROM
event INNER JOIN tournament_stage ON event.tournament_stageFK=tournament_stage.id
INNER JOIN tournament ON tournament_stage.tournamentFK=tournament.id
INNER JOIN tournament_template
ON tournament.tournament_templateFK=tournament_template.id
INNER JOIN sport ON tournament_template.sportFK=sport.id
WHERE
DATE(event.startdate) = CURRENT_DATE()
) a
group by sportname, tournament_templatename, tournament_stagename
order by sportid, tournament_templatename, tournament_stagename";
$result = mysql_query($SQL);
if($result === FALSE) {
die(mysql_error());
}
while($db_field=mysql_fetch_assoc($result)){
echo $db_field['concat1'];
}
mysql_close($db_handle);
}
私はどちらかは、それらを連結する前に、結果に戻る得るための方法、または私が爆発する区切り文字として*使用できるように、同上*名*日付としてIdNameDateを表示するための方法が必要です。
私はそのコードにどのように変数を割り当てるのか分かりません。 –