Hi,
ich bin grade dabei mit PHP einen Terminkalender zubasteln.
Man soll einfach über das entsprechende Datumdrüber gehen und dann Infos zum Termin erhalten. Dafür muss ich Javascript verwenden da PHP keine onmouseover effekte hat.keine OnMouseOver-Effekte haben kann. PHP wird serverseitig ausgeführt, Javascript clientseitig.
Mit einem Textfelder(Formular) wo sich der Wert ändert geht alles wunderbar. Wenn ich aber will das sich in einem div-Bereich der Text geändert/generiet werden soll dann klaptt das nicht.
Hier mal auszüge vom Code:<?php
echo("<script type='text/javascript'>
var DSDS='test';
var lol1='lol1';
document.getElementById('test').NodeValue = 'lol1';Es muss "document.getElementById('test').firstChild.NodeValue = 'lol1';" heißen.
</script>");
?>echo("<td><div style='color:black;' onmouseover='document.getElementById('test').write = 'lol1'>".$c."</div></td>");
Ist das eine Tabellenzelle ohne Tabelle? Was soll da eigentlich passieren, bei deinem MouseOver? Wenn du ebenfalls den Text ändern möchtest, warum verwendest du nicht, wie oben, NodeValue? Und wieso schreibst du den gleichen Text rein, den du schon beim Start reinschreibst? Wo kommt $c her?
echo("<div id='test'></div>");
Ich hab mir schon gedacht dass der nicht richtig eingehaltene Syntax Probleme darstellenkönnte,da überall ' steht und nicht " was man aber nicht umgehen kann.
Erstens stört das nicht und zweitens kannst du es sehr wohl umgehen. Du könntest z. B. echo('<script type="text/javascript">'); verwenden oder die Heredoc-Syntax einsetzen. Weiterhin ist dein serverseitiges PHP vollkommen unnötig - du könntest dir den Echo-Bla und das PHP-Zeugs sparen und gleich den HTML-Code hinschreiben.
Schöne Grüße
Julian
Hi,
ich wollte den ganzen Quellcode nicht kopieren,da ich sonst immer angeschnauzt werde in Foren wenn ich es mache ,aber damit du die Zusammenhänge verstehst(Ich weiß da könnte man noch einiges optimieren):
<html>
<head>
<?php
echo("<script type='text/javascript'>
var DSDS='test';
var lol1='lol1';
document.getElementById('test').firstChild.NodeValue = 'lol1';
</script>");
?>
<title>Test</title>
</head>
<body>
<table>
<tr><td><?php
if($yep==1)
echo("Januar");
if($yep==2)
echo("Februar");
if($yep==3)
echo("März");
?></td></tr>
<tr>
<td>Mo</td>
<td>Di</td>
<td>Mi</td>
<td>Do</td>
<td>Fr</td>
<td>Sa</td>
<td>So</td>
</tr>
<?php
@include"termine.inc.php";
?>
<?php
$next=$yep+1;
if($yep != 1)
$pre=$yep-1;
if ($yep == 1)
$pre=$yep;
?>
<?php
@include"arraya.inc.php";
?>
<?php
$month=$yep;
$t=0;
while($t <= 12){
$checkdat = split ("[.]", $o[T.$t][dat]);
$dateday=$checkdat[0];
if($month == $checkdat[1]){
$a[$dateday][da]="T".$t;
$a[$dateday][tt]="true";
}
$t++;
}
if ($a[1][day]== 0)
$a[1][pos]=7;
if ($a[1][day]== 1)
$a[1][pos]=1;
if ($a[1][day]== 2)
$a[1][pos]=2;
if ($a[1][day]== 3)
$a[1][pos]=3;
if ($a[1][day]== 4)
$a[1][pos]=4;
if ($a[1][day]== 5)
$a[1][pos]=5;
if ($a[1][day]== 6)
$a[1][pos]=6;
$c=1;
$bits=0;
while($c <= 31){
if($c != 0)
{$b=$c-1;
$d=$a[$b][pos]+1;
$a[$c][pos]=$d;}
if ($bits <= 7 && $c == 1){
if($a[$c][day]==0){
$bits=7;
if($bits=0){
echo("<tr>");}
echo("<td></td><td></td><td></td><td></td><td></td><td></td><td>".$c."</td>");
if($bits=7){
echo("</tr>");}}
if($a[$c][day]==1){
if($bits=0){
echo("<tr>");}
$bits=$bits+2;
echo("<tr><td>".$c."</td>");}
if($a[$c][day]==2){
if($bits=0){
echo("<tr>");}
$bits=3;
echo("<tr><td></td><td>".$c."</td>");}
if($a[$c][day]==3){
if($bits=0){
echo("<tr>");}
$bits=4;
echo("<tr><td></td><td></td><td>".$c."</td>");}
if($a[$c][day]==4){
if($bits=0){
echo("<tr>");}
$bits=5;
echo("<tr><td></td><td></td><td></td><td>".$c."</td>");}
if($a[$c][day]==5){
if($bits=0){
echo("<br>");}
$bits=6;
echo("<tr><td></td><td></td><td></td><td></td><td>".$c."</td>");}
if($a[$c][day]==6){
if($bits=0){
echo("<br>");}
$bits=7;
echo("<tr><td></td><td></td><td></td><td></td><td></td><td>".$c."</td></tr>");}
}
if ($bits <= 7 && $c != 1){
if($a[$c][day]==0){
if($a[$c][tt]=="true"){
echo("<td><div style='color:black;' onmouseover='document.getElementById('test').write = 'lol1'>".$c."</div></td>");
}
if($a[$c][tt]=="false"){
echo("<td><div style='color:grey;'>".$c."</div></td>");
}
echo("</tr>");
}
if($a[$c][day]==1){
echo("<tr>");
if($a[$c][tt]=="true"){
echo("<td><div style='color:black; onmouseover=''document.getElementById('test').write = 'lol1'>".$c."</div></td>");
}
if($a[$c][tt]=="false"){
echo("<td><div style='color:grey;'>".$c."</div></td>");
}
}
if($a[$c][day]==2){
if($a[$c][tt]=="true"){
echo("<td><div style='color:black;' onmouseover='document.getElementById('test').write = 'lol2'>".$c."</div></td>");
}
if($a[$c][tt]=="false"){
echo("<td><div style='color:grey;'>".$c."</div></td>");
}
}
if($a[$c][day]==3){
if($a[$c][tt]=="true"){
echo("<td><div style='color:black;' onmouseover='document.getElementById('test').write = 'lol3'>".$c."</div></td>");
}
if($a[$c][tt]=="false"){
echo("<td><div style='color:grey;'>".$c."</div></td>");
}
}
if($a[$c][day]==4){
if($a[$c][tt]=="true"){
echo("<td><div style='color:black;' onmouseover='document.getElementById('test').write = 'lol4'>".$c."</div></td>");
}
if($a[$c][tt]=="false"){
echo("<td><div style='color:grey;'>".$c."</div></td>");
}
}
if($a[$c][day]==5){
if($a[$c][tt]=="true"){
echo("<td><div style='color:black;' onmouseover='document.getElementById('test').write = 'lol5'>".$c."</div></td>");
}
if($a[$c][tt]=="false"){
echo("<td><div style='color:grey;'>".$c."</div></td>");
}
}
if($a[$c][day]==6){
if($a[$c][tt]=="true"){
echo("<td><div style='color:black;' onmouseover='document.getElementById('test').write = 'lol6'>".$c."</div></td>");
}
if($a[$c][tt]=="false"){
echo("<td><div style='color:grey;'>".$c."</div></td>");
}
}
}
$c++;}
echo("</tr><tr><td colspan='3'><a href='test.php?yep=".$pre."'>vorheriger Monat</td>
<td colspan='3'><a href='test.php?yep=".$next."'>nächster Monat</a></td></table><br><br><br><div id='test'></div>");
$ta=0;
?>
</body>
</html>
In dem includes stehen nur Arrays für genaue Termin angaben.
by markd