Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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
Javascript 在表中合并td的一种方法_Javascript_Php_Html_Html Table - Fatal编程技术网

Javascript 在表中合并td的一种方法

Javascript 在表中合并td的一种方法,javascript,php,html,html-table,Javascript,Php,Html,Html Table,所以我正在尝试创建一个每周日历。 我用javascript编写了一个循环来创建空表,然后使用php和javascript从SQL表中获取的值修改了相应td的innerHTML。 我的问题是,当我设置特定td的行跨度而不是与下一个td合并时,会将它们移动到表的末尾。如果我有两个以上的信誉点,我会张贴图片来显示我的问题 如果你想看的话,这是我的代码 函数determinationRowSpanBetween稍后在代码中创建。如果td中的rowspan>1只占用一个空间,即未与其他td合并,则会

所以我正在尝试创建一个每周日历。 我用javascript编写了一个循环来创建空表,然后使用php和javascript从SQL表中获取的值修改了相应td的innerHTML。 我的问题是,当我设置特定td的行跨度而不是与下一个td合并时,会将它们移动到表的末尾。如果我有两个以上的信誉点,我会张贴图片来显示我的问题

如果你想看的话,这是我的代码


函数determinationRowSpanBetween稍后在代码中创建。

如果td中的rowspan>1只占用一个空间,即未与其他td合并,则会导致一系列错误。确保您对添加到rowspan的每一行都进行了说明。

您对如何进行说明有什么建议吗?请尝试在while循环中设置一个计数器,用于计算在rowspan中添加的行数,然后从for循环中的14行中减去该值。这样,它将显示正确的行数,我不知道这是否会导致您试图显示的实际内容出现问题。你需要上传照片让我确认…我现在就上传照片!我有足够的声望点谢谢好吧,我明白你想做什么了。首先,开始/结束时间是否始终在表中显示的时间范围内?最后我修复了它谢谢你的帮助我按照你说的做了,但这花了我很长时间我仍在学习:
                // Declare usefull information about the database and host
            $mysql_host = "-host info-";
            $mysql_database = "-database info-";
            $mysql_user = "user";
            $mysql_password = "pass";

            // open the connection
            $link = mysql_connect($mysql_host,$mysql_user,  $mysql_password, $mysql_database);

            // connect to the database
            mysql_select_db($mysql_database, $link) or die('database not selected'. mysql_error());


            // Select * from the table created in the database
            $result = mysql_query("SELECT * FROM Appointment;")
            or die("Could not query:" . mysql_error());

            echo "<script type='text/javascript' > "
                . "var hours = new Array('9:00','9:30','10:00','10:30','11:00','11:30', "
                . "'12:00','12:30','13:00','13:30','14:00','14:30','15:00','15:30');"
                . ""
                . "var days = new Array('Mon','Tue','Wed','Thu','Fri','Sat');"
                . ""
                . "for (  i = 0; i < 14 ; i++ ) "
                . "{"
                . "document.write('<tr id='+hours[i]+':00'+'>');"
                . "document.write('<th>'+ hours[i]+'</th> '); "
                ." for ( k = 0 ; k < 6; k++)"
                ."{"
                . "document.write('<td id='+days[k] +'> </td>'); "
                . "}"
                . "document.write('</tr>');"
                ."}"
                . " </script> ";

                while( $row = mysql_fetch_array( $result ))
                {
                    $timestamp = strtotime($row['Date']);
                    $day = date('D', $timestamp);
                    $from = $row['StartTime'];
                    $to = $row['EndTime'];
                    $rowspan = determinRowSpanBetween($from,$to);

                    echo "<script type='text/javascript'> "
                    . " var divToAddTo = GetElementInsideContainer('".$from."','".$day."');"
                    . "divToAddTo.className = 'busy';"
                    . "divToAddTo.rowspan='".$rowspan."';"
                    . "divToAddTo.innerHTML='Something to do';"


                    . "function GetElementInsideContainer(containerID, childID) {"
                    . " var elm = {};"
                    . "  var elms = document.getElementById(containerID).getElementsByTagName('*');"
                    . "  for (var i = 0; i < elms.length; i++) {"
                    . "   if (elms[i].id === childID) {"
                    . " elm = elms[i];"
                    . " break;"
                    . " }"
                    . "}"
                    . "return elm;"
                    . "}"

                    . " </script>" ;


                }