I have a web api with a function:
function fodboldStream() {
//$timezone = date_default_timezone_get('Europe/Copenhagen');
//$date = date('Y-m-d');
$result = query("SELECT kampe2.dato,kampe2.id,kampe2.sqltime, kampe2.tidspunkt,kampe2.hiddenmatch, turneringer.turnering, turneringer.image, holdH.hold AS hjemmehold, holdU.hold AS udehold, holdH.imagebig AS hjemmeimage, holdU.imagebig AS udeimage, tvkanal.kanal,tvkanal.imageny, kampe2.optakt, kampe2.info, kampe2.type
FROM kampe2
INNER JOIN turneringer ON kampe2.turnering=turneringer.id
INNER JOIN tvkanal ON kampe2.kanal1=tvkanal.id
LEFT OUTER JOIN hold holdH ON holdH.id = kampe2.hjemmehold
LEFT OUTER JOIN hold holdU ON holdU.id = kampe2.udehold
WHERE kampe2.hiddenmatch=0 AND kampe2.dato >= cast((now()) as date) ORDER BY kampe2.tidspunkt ");
if (!$result['error']) {
print json_encode ($result);
} else {
errorJson('fodbold stream is broken');
}
}
This gives me an array like this:
result = (
{
dato = "2015-03-01";
hiddenmatch = 0;
hjemmehold = "Val\U00e8ncia CF";
hjemmeimage = "1775.png";
id = 7571;
image = "5_ll.png";
imageny = "Canal9.png";
info = "";
kanal = "Canal 9";
optakt = "11:55";
sqltime = 1425207600;
tidspunkt = "12:00";
turnering = "Liga BBVA";
type = "";
udehold = "Real Sociedad";
udeimage = "1742.png";
}
My problem is that tvkanal.kanal
only gives me 1
, the row in the table is 11
, 61
, 45
.
How do I, in this 1 query get them as tvkanal1 = x tvkanal2 = x
and tvkanal3
there can be from 1 to 3 "tvkanal"
?
If I use find in set:
$result = query("SELECT kampe2.dato,kampe2.id,kampe2.sqltime, kampe2.tidspunkt,kampe2.hiddenmatch, turneringer.turnering, turneringer.image, holdH.hold AS hjemmehold, holdU.hold AS udehold, holdH.imagebig AS hjemmeimage, holdU.imagebig AS udeimage, kampe2.optakt, kampe2.info,GROUP_CONCAT(tvkanal.image) as TVimg, kampe2.type
FROM kampe2
INNER JOIN turneringer ON kampe2.turnering=turneringer.id
INNER JOIN tvkanal ON FIND_IN_SET(tvkanal.id, kampe2.kanal1)>0
LEFT OUTER JOIN hold holdH ON holdH.id = kampe2.hjemmehold
LEFT OUTER JOIN hold holdU ON holdU.id = kampe2.udehold
WHERE kampe2.hiddenmatch=0 AND kampe2.dato >= cast((now()) as date) ORDER BY kampe2.tidspunkt ");
I get :
result = (
{
TVimg = "ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,TV3-Sport-1-v2.png,TV3-Sport-1-v2.png,3Plus-Logo-v2.png,canal9-v3.png,TV3-Sport-1-v2.png,canal8-v3.png,TV3-Sport-1-v2.png,3Plus-Logo-v2.png,TV3-Sport-1-v2.png,TV3-Sport-1-v2.png,TV3-Sport-1-v2.png,canal9-v3.png,canal8-v3.png,canal9-v3.png,TV3-Sport-1-v2.png,3Plus-Logo-v2.png,TV3-Sport-1-v2.png,canal8-v3.png,TV3-Sport-1-v2.png,TV3-Sport-1-v2.png,3Plus-Logo-v2.png,canal9-v3.png,TV3-Sport-1-v2.png,canal8-v3.png,TV3-Sport-1-v2.png,TV3-Sport-1-v2.png,TV3-Sport-1-v2.png,3Plus-Logo-v2.png,canal8-v3.png,TV3-Sport-1-v2.png,canal9-v3.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke-fastlagt.png,ikke";
dato = "2015-06-07";
hiddenmatch = 0;
hjemmehold = "FC Vestsj\U00e6lland";
hjemmeimage = "555.png";
id = 6180;
image = "Alka-superliga2.png";
info = "";
optakt = "";
sqltime = 1433685600;
tidspunkt = "16:00";
turnering = "Alka Superligaen";
type = "";
udehold = "Silkeborg IF";
udeimage = "551.png";
}
);
}
I'm doing some work.