Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySql合并不起作用_Php_Mysql_Coalesce - Fatal编程技术网

Php MySql合并不起作用

Php MySql合并不起作用,php,mysql,coalesce,Php,Mysql,Coalesce,我有这个表,2门课程,12个可能的科目(内容:科目ID,如果没有更多科目,则为空)。请注意,它最多可以包含50种不同的课程,而不仅仅是2种 我正在尝试显示课程名称(工作正常),并通过合并在每门课程中显示课程的科目ID,这应该是最终结果: Curso de programmación Creativa con PHP y MySQL-Curso:1-Curso:2-Curso:10- Máster en Diseño y Desarrollo网站-CURSO:1- 但我的联合表达出现了一些问题

我有这个表,2门课程,12个可能的科目(内容:科目ID,如果没有更多科目,则为空)。请注意,它最多可以包含50种不同的课程,而不仅仅是2种

我正在尝试显示课程名称(工作正常),并通过合并在每门课程中显示课程的科目ID,这应该是最终结果:

Curso de programmación Creativa con PHP y MySQL-Curso:1-Curso:2-Curso:10-

Máster en Diseño y Desarrollo网站-CURSO:1-


但我的联合表达出现了一些问题:

Curso de programmación Creativa con PHP y MySQL-Curso:1-Curso:1-

Máster en Diseño y Desarrollo网站-CURSO:1-CURSO:1-

代码如下:

$select = select("SELECT * FROM course_conf JOIN course_type ON ct_id=co_fk_ct_id ORDER BY co_name");




while($registroBbdd = consultaRegistro($select))
{
    $courseName=$registroBbdd['co_name'];

    $result = select("SELECT COALESCE(co_subj1,co_subj2,co_subj3,co_subj4,co_subj5,co_subj6,co_subj7,co_subj8,co_subj9,co_subj10,co_subj11,co_subj12) FROM course_conf");

        echo '<div class="contentColumn80">
                <span class="tableContentText ">'.$courseName.' - </span>';

        while($row=mysql_fetch_array($result))
        {  
                echo '<span>CURSO: '.$row['COALESCE(co_subj1,co_subj2,co_subj3,co_subj4,co_subj5,co_subj6,co_subj7,co_subj8,co_subj9,co_subj10,co_subj11,co_subj12)'].' - </span>'; 
        }
        echo '</div>';
}
$select=select(“选择*从课程配置中加入课程类型,按课程名称排序”);
while($registarbbdd=consultaRegistro($select))
{
$courseName=$registorbdd['co_name'];
$result=select(“从课程配置中选择联合(联合主题1、联合主题2、联合主题3、联合主题4、联合主题5、联合主题6、联合主题7、联合主题8、联合主题9、联合主题10、联合主题11、联合主题12”);
回声'
“.$courseName。”——”;
while($row=mysql\u fetch\u数组($result))
{  
回音“CURSO:”.$行[“合并(合并(合并)(合并主题1、合并主题2、合并主题3、合并主题4、合并主题5、合并主题6、合并主题7、合并主题8、合并主题9、合并主题10、合并主题11、合并主题12)”;
}
回声';
}
好的,有两个明显的错误:

  • 将始终返回第一个参数,该参数不为空(在您的情况下,始终是存储在
    co_subc1
    中的值)
  • 第二个SQL查询不包括任何
    WHERE
    -子句。因此,您可以获得所有课程的
    co_sub1
虽然可能不是最好的解决方案,但这应该是可行的:

$select=select(“选择*从课程配置中加入课程类型,按课程名称排序”);
while($registarbbdd=consultaRegistro($select))
{
$courseName=$registorbdd['co_name'];
回声'
“.$courseName。”——”;

对于($i=1;$i),COALESCE将返回co_subs1的值,因为它是notnull的第一个表达式,因此它始终为1。