Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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 在查询结果的while循环中,如何在特定条件下用rowspan回显行表?_Php_Mysql_Sql_Loops - Fatal编程技术网

Php 在查询结果的while循环中,如何在特定条件下用rowspan回显行表?

Php 在查询结果的while循环中,如何在特定条件下用rowspan回显行表?,php,mysql,sql,loops,Php,Mysql,Sql,Loops,我有这样的报告 我想做一个如上图所示的报告。 我已经用以下代码进行了尝试: $id = 0; $id2 = 0; $no = 1; $q3 = mysql_query("SELECT * FROM pendidikan, unsur, subunsur WHERE pendidikan.id_sub = subunsur.id_sub AND subunsur.id_unsur = unsur.id_unsur AND pendidikan.nidn = $_GET[n

我有这样的报告

我想做一个如上图所示的报告。 我已经用以下代码进行了尝试:

$id = 0;
    $id2 = 0;
    $no = 1;
    $q3 = mysql_query("SELECT * FROM pendidikan, unsur, subunsur WHERE pendidikan.id_sub = subunsur.id_sub AND subunsur.id_unsur = unsur.id_unsur AND pendidikan.nidn = $_GET[nidn]");
    $q4 = mysql_query("SELECT * FROM pendidikan, unsur, subunsur WHERE pendidikan.id_sub = subunsur.id_sub AND subunsur.id_unsur = unsur.id_unsur AND pendidikan.nidn = $_GET[nidn]");
    $data = array();
        while($d=mysql_fetch_assoc($q3)){
            $no++;
            if($id != $d['id_unsur']){
                $no = $no+1;
                echo"<tr>
                        <td>$d[kode_unsur]</td>
                        <td colspan='8'>$d[nama_unsur]</td>
                    </tr>";
                while($f=mysql_fetch_array($q3)){
                    if($id2 != $f['id_sub']){
                    echo"<tr>
                        <td rowspan='$no'>$d[kode_sub]</td>
                        <td colspan='8'>$d[nama_sub]</td>
                    </tr>";
                    }
                    $id2 = $f['id_sub'];
                    while($g=mysql_fetch_assoc($q4)){
                        if($g['id_sub'] == $f['id_sub']){
                            echo"<tr>
                                    <td>$g[no_butir]</td>
                                    <td>$g[uraian]</td>
                                    <td>$g[thn_smt_akademik]</td>
                                    <td>$g[tanggal]</td>
                                    <td>$g[satuan_hasil]</td>
                                    <td>$g[jml_vlm_kegiatan]</td>
                                    <td>$g[jml_angka_kredit]</td>
                                    <td>$g[bukti]</td>
                                </td>";
                        }

                    }
                }
            }
            $id = $d['id_unsur'];
        }
$id=0;
$id2=0;
$no=1;
$q3=mysql_查询(“从pendidikan、unser、subunser中选择*,其中pendidikan.id_sub=subunser.id_sub和subunser.id_unser=unser.id_unser和pendidikan.nidn=$_GET[nidn]”;
$q4=mysql_查询(“从pendidikan、unser、subunser中选择*,其中pendidikan.id_sub=subunser.id_sub和subunser.id_unser=unser.id_unser和pendidikan.nidn=$_GET[nidn]”;
$data=array();
而($d=mysql\u fetch\u assoc($q3)){
$no++;
如果($id!=$d['id\u unser'])){
$no=$no+1;
回声“
$d[科德乌努索]
$d[不知道]
";
而($f=mysql\u fetch\u数组($q3)){
如果($id2!=$f['id\u sub'])){
回声“
$d[kode_sub]
$d[纳马苏维埃]
";
}
$id2=$f['id_sub'];
而($g=mysql\u fetch\u assoc($q4)){
如果($g['id\u sub']=$f['id\u sub'])){
回声“
$g[不可抗力]
$g[乌拉语]
$g[thn_smt_akademik]
$g[tanggal]
$g[satuan_hasil]
$g[jml_vlm_kegiatan]
$g[jml_angka_kredit]
$g[bukti]
";
}
}
}
}
$id=$d['id_unser'];
}
我应该怎么做,因为有了这段代码,我用相同的子A创建了行,而不是像这样的子B:


任何帮助都将不胜感激。谢谢。

您可以接受SQL注入,并使用已弃用/删除的驱动程序。还有,为什么你要执行同一个查询三次并定义两次?@user3783243因为我太困惑了,我不知道怎么做,你知道怎么做吗?你需要停止使用过时的
mysql.*
函数,它们已经被弃用多年,在当前版本的PHP中被删除。转换为PDO或mysqli。