php - 删除mysql数据中的逗号

标签 php mysql json

我有一个带有以下功能的 Web API:

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');
  }

}

这给了我一个像这样的数组:

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";
    }

我的问题是 tvkanal.kanal 只给我 1,表中的行是 116145

如何在这 1 个查询中将它们获取为 tvkanal1 = x tvkanal2 = xtvkanal3 可以有 1 到 3 个“tvkanal”

如果我在集合中使用查找:

$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 ");

我明白了:

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";
    }
);
}

我正在做一些工作。

最佳答案

一种方法是使用多个 INNER JOINS:

INNER JOIN tvkanal AS tvkanal1 ON kampe2.kanal1=tvkanal.id 
INNER JOIN tvkanal AS tvkanal2 ON kampe2.kanal2=tvkanal.id 
INNER JOIN tvkanal AS tvkanal3 ON kampe2.kanal3=tvkanal.id 

然后在您的选择字段中:

tvkanal1.kanal,tvkanal1.imageny,tvkanal2.kanal,tvkanal2.imageny,tvkanal3.kanal,tvkanal3.imageny

关于php - 删除mysql数据中的逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797508/

相关文章:

php - Zend DB 无法模拟 MS SQL 的限制和偏移量

php - 分成两个变量?

php - 为什么 php 不显示更多数据?

php - 未知列,错误

java - 将 Http Response 解析为自定义对象

CSS !important 在使用 ajax 的 ie7 中不起作用

php - 如何防止包含的文件在 PHP 中生成输出?

mysql - pentaho 创建许多休眠连接

Python 'ascii' 编解码器无法使用 request.get 对字符进行编码

php - MySQL 通过 PHP 批量插入