Javascript 如何在表中标记一列

Javascript 如何在表中标记一列,javascript,php,Javascript,Php,如何在表中只标记一列。我会制定一个时间表。当一个课程开始时,应使用其他颜色标记该列。我想用JavaScript来实现它 <html> <head> <?php require_once("layout.php"); ?> <meta charset="utf-8"> </head> <body onload="ZeitAnzeigen()"> <div id="wrapper">

如何在表中只标记一列。我会制定一个时间表。当一个课程开始时,应使用其他颜色标记该列。我想用JavaScript来实现它

    <html>
<head>
<?php
require_once("layout.php");
    ?>


<meta charset="utf-8">
</head>
<body onload="ZeitAnzeigen()">


<div id="wrapper">
        <h1 style="color: #DB441A"> Stundenplan <small>BBS Westerburg</small></h1>


<script type="text/javascript">


function ZeitAnzeigen() {

  var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                                "Donnerstag", "Freitag", "Samstag");
  var Jetzt = new Date();
  //var Tag = Jetzt.getDate();
  //var Monat = Jetzt.getMonth() + 1;
  //var Jahr = Jetzt.getYear();
  var Stunden = Jetzt.getHours();
  var Minuten = Jetzt.getMinutes();
  //var Sekunden = Jetzt.getSeconds();
  var WoTag = Jetzt.getDay();


  // Null voranstellen wenn nötig
  //var Vortag = (Tag < 10) ? "0" : "";
  //var Vormon = (Monat < 10) ? ".0" : ".";
  //var Vorstd = (Stunden < 10) ? "0" : "";
  //var Vormin = (Minuten < 10) ? ":0" : ":";
  //var Vorsek = (Sekunden < 10) ? ":0" : ":";

            //var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;

            //var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
            //var Uhrzeit =  Stunden +":"+ Minuten + ":" + Sekunden;

            //var Gesamt = Wochentagname[WoTag] + ", " + Datum + ", " + Uhrzeit;

  var MinTotal = Stunden * 100 + Minuten;

  //document.getElementById('Uhr').innerHTML=Uhrzeit;
  //document.getElementById('Datum').innerHTML=WoTag;
  //document.getElementById('MinTotal').innerHTML=MinTotal;

  var Schulstunde;
   if (MinTotal > 745){     // wenn nach 7:45 Uhr dann...

      switch (true) {
        case (MinTotal < 830):
          Schulstunde = 1 ;
            break;
        case (MinTotal < 915):
          Schulstunde = 2 ;
            break;
        case (MinTotal < 930):
          Schulstunde = 10 ;
            break;
        case (MinTotal < 1015):
          Schulstunde = 3 ;
            break;
        case (MinTotal < 1100):
          Schulstunde = 4 ;
            break;
        case (MinTotal < 1115):
          Schulstunde = 20 ;
            break;
        case (MinTotal < 1200):
          Schulstunde = 5;
            break;
        case (MinTotal < 1245):
          Schulstunde = 6;
            break;
        case (MinTotal < 1330):
          Schulstunde = 30;
            break;
        case (MinTotal < 1415):
          Schulstunde = 7;
            break;
        case (MinTotal < 1500):
          Schulstunde = 8;
            break;

        default:
          Schulstunde =1200;
            break;



            var timeout = window.setTimeout("ZeitAnzeigen()", 1000);
       }

            var AktStunde = "" + Schulstunde + WoTag;

            alert(AktStunde);

        var progress_x = document.getElementByID(AktStunde);
        var breite = parseInt(progress_x.style.width);
        breite = breite + 1;
        var tmp = breite + 10;

        progress_x.style.width = tmp;

        if (breite < 95){
        window.setTimeout("ZeitAnzeigen()", 1000);
    }
    window.setTimeout("ZeitAnzeigen()", 1000);           

}


</script>

<table class="table table-bordered">

    <thead>
        <tr>
            <td>Stunde</td>
            <td>Montag</td>
            <td>Dienstag</td>
            <td>Mittwoch</td>
            <td>Donnerstag</td>
            <td>Freitag</td>

        </tr>
    </thead>
    <tbody>

<?php

    $name = $_SESSION['user'];
    $sql = "SELECT Nachname, Klasse FROM tbl_benutzer WHERE Anmeldenamen = '$name'";
    $result = mysql_query($sql) or die (mysql_error());


        echo $name;
        echo "<br>";

                    $sql = "SELECT Fach, L1, L2, Tag, StdPos FROM tbl_stunden WHERE Woche != '2' ORDER BY StdPos, Tag";
                    $result = mysql_query($sql) or die (mysql_error());
                    $Std=1;
                    $daycount = 1;
                    $td_id = 1;
                    $p_id = 1;
                    $pause = 1;
                    $tdd_id = 1;    //Tabledesk ID von Tag

                    while($row = mysql_fetch_array($result))
                    {

                        if($daycount==1)
                        {
                            echo "<tr>";
                                echo "<td>" .$Std. "</td>";
                        }
                            echo "<td><div id=" . $row['StdPos'] . $row['Tag'] . " 
                            style='display:block; height: 41px; width: 3px; background: red; margin: -8px;'><div width: 100%;>". $row['Fach'] . "<br>" . $row['L1'] . "</div></div></td>";

                            $daycount++;
                            $td_id++;

                        if($p_id == 10 && $pause <4)
                        {
                            echo "<tr><td id=".$p_id. $pause.">Pause </td></tr>";
                            $p_id=0;
                            $pause+=1;

                        }
                        $p_id++;

                        if($daycount ==6)
                        {
                            echo"</tr>";
                            $daycount = 1;
                            $Std +=1;
                            $tdd_id +=1;
                            $td_id = 1;

                        }
                        }

                    ?>


        </tbody>
</table>



        </div>      


</body>
</html>

威斯特堡斯登普兰BBS酒店
函数ZeitAnzeigen(){
var Wochentagname=新数组(“Sonntag”、“Montag”、“Dienstag”、“Mittwoch”,
“Donnerstag”、“Freitag”、“Samstag”);
var Jetzt=新日期();
//var Tag=Jetzt.getDate();
//var Monat=Jetzt.getMonth()+1;
//var Jahr=Jetzt.getYear();
var Stunden=Jetzt.getHours();
var Minuten=Jetzt.getMinutes();
//var Sekunden=Jetzt.getSeconds();
var WoTag=Jetzt.getDay();
//空沃兰斯泰伦·文诺蒂格
//var Vortag=(标记<10)?“0”:“;
//var Vormon=(Monat<10)“.0”:”;
//var Vorstd=(Stunden<10)?“0”:“;
//变量Vormin=(分钟<10)?“:0”:”;
//var Vorsek=(Sekunden<10)?“:0”:”;
//var数据=Vortag+Tag+Vormon+Monat+“”+Jahr;
//var Uhrzeit=Vorstd+Stunden+Vormin+Minuten+Vorsek+Sekunden;
//var Uhrzeit=Stunden+“:”+Minuten+“:”+Sekunden;
//var Gesamt=Wochentagname[WoTag]+“,“+Datum+”,“+Uhrzeit;
var MinTotal=Stunden*100+分钟;
//document.getElementById('Uhr')。innerHTML=Uhrzeit;
//document.getElementById('Datum').innerHTML=WoTag;
//document.getElementById('MinTotal')。innerHTML=MinTotal;
舒尔斯顿;
如果(总数>745){//wenn nach 7:45 Uhr dann。。。
开关(真){
病例(最小总数<830):
舒尔斯顿=1;
打破
案例(最小总数<915):
舒尔斯顿=2;
打破
病例(最小总数<930):
舒尔斯顿=10;
打破
病例(最小总数<1015):
舒尔斯顿=3;
打破
案例(最小总数<1100):
舒尔斯顿=4;
打破
病例(最小总数<1115):
舒尔斯顿=20;
打破
案例(最小总数<1200):
舒尔斯顿=5;
打破
病例(最小总数<1245):
舒尔斯顿=6;
打破
病例(最小总数<1330):
舒尔斯顿=30;
打破
病例(最小总数<1415):
舒尔斯顿=7;
打破
案例(最小总数<1500):
舒尔斯顿=8;
打破
违约:
舒尔斯顿=1200;
打破
var timeout=window.setTimeout(“ZeitAnzeigen()”,1000);
}
var AktStunde=“”+schulstonde+WoTag;
警报(阿克斯通德);
var progress_x=document.getElementByID(AktStunde);
var breite=parseInt(progress_x.style.width);
布雷特=布雷特+1;
var tmp=breite+10;
进度x.style.width=tmp;
if(breite<95){
setTimeout(“ZeitAnzeigen()”,1000);
}
setTimeout(“ZeitAnzeigen()”,1000);
}
震惊
蒙塔格
星期二
星期三
星期四
弗雷塔格
这是我的PHP脚本,其中生成了时间表。但是JavaScript无法工作

有人能帮我吗

格里茨
Fabiann

通过使用从DOM获取行并对其进行管理

var myRow = document.getElementById("rowID");
row.style.backgroundColor = "red";
你能数一数前面的行吗? 因为解决这个问题的一个方法是: 给他们持续的id,比如“cellID1”、“cellID2”


他要求设置一列而不是一行的样式。这与dude;)的方式相同,只是不同的IDIt对类来说更好。您可以为类添加规则(例如,
.highlightedCol
)这不是问题,只是两种不同的方式。一种是直接操纵颜色,另一种是操纵该列中所有单元格的类。
var rowCount = 10;
var i =1;

for (i >= 10)
{
var myCell = document.getElementById("cellID" + i);
myCell.style.backgroundColor = "red";
i++;
}