Dzień dobry mam taki mały problem. Tworzę aktualnie aplikację do zarządzania terminami i chciałbym aby ona w tabelce wyświetlała mi zaznaczone kolorem czerwonym zajęte dni. Wszystko jest dobrze do czasu póki nie podam jedno liczbowej daty wtedy program zalicza mi także wszystkie liczby które zawierają w sobie tą liczbę. Oto kod tworzący tabelę oraz pobieranie daty oraz zmienianie jej formatu tylko na dzień:
$dateodDay = date("j", strtotime($_GET['dateod']));
$datedoDay = date("j", strtotime($_GET['datedo']));;
echo "Od: ".$dateodDay."<br>";
echo "Do: ".$datedoDay."<br>";
echo<<<tabelka
<table border="1">
<tr>
<td>Data</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
tabelka;
for($j=1; $j<=5; $j++){
echo "<tr>";
if($j == "1" || $j == "2" || $j == "3" || $j == "4" || $j == "5"){
echo "<td id="."Pokoj".$j." width='100px'; height='50px'>Pokoj ".$j."</td>";
}
for($i=1; $i<=7; $i++){
echo "<td style='background-color:green;' id=".$liczbaW." width='100px'; height='50px'>".$liczbaW."</td>";
$liczbaW++;
}
echo "</tr>";
}
echo "</table>";
oraz kod JavaScript który powinien pobierać poprawne id i przypisywać do niego style css:
<script>
var dateOd = '<?php echo $dateodDay; ?>';
var dateDo = '<?php echo $datedoDay; ?>';
var roznica = dateDo - dateOd;
console.log(dateOd);
console.log(dateDo);
console.log(roznica);
var row = document.getElementsByTagName('td');
var len = row.length;
for (var i=0; i<len; i++) {
if(row[i].id >= dateOd && row[i].id <= dateDo){
document.getElementById(row[i].id).style.backgroundColor = "red";
console.log(row[i].id);
}
}
</script>
tak wyglądają wyniki podczas podania dat XXXX-XX-01 oraz XXXX-XX-04.
Z góry dziękuję za pomoc.