Avatar billede inctor Nybegynder
08. november 2006 - 13:23 Der er 34 kommentarer og
1 løsning

Dynamisk kalender script ?

Jeg har fundet dette script herinde på Exp ..

Jeg ville gerne gøre så jeg kunne fremhæve den aktulle dato i scriptet, såN så baggrundsfarven blir ændret på den aktuelle dato, og går du en måned frem skal den jo ikk fremhæve nogen ..
<?php
/* Kalenderscriptet*/
/* Tjekker året er sat i adresselinien, ellers bliver det i år */
$aar = (empty($_GET['y'])) ? date(Y) : $_GET['y'];
/* Tjekker måneden er sat i adresselinien, ellers bliver den sat til aktuel måned */
$maaned = (empty($_GET['m'])) ? date('m') : $_GET['m'];
/* Array med ugedage */
$uger = array('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør', 'Søn');
/* Den aktuelle dato i unix epoch (antal sekunder siden 1. jan 1970) */
$dato = mktime(0,0,0,$maaned, 1, $aar);
/* Antal dage i måneden */
$antalDageMaaned = date('t', $dato);
/* Første ugedag (hvis det er søndag (0) sættes den til 7) */
$foersteUgedag = (date('w', $dato) == 0) ? 7 : date('w', $dato);
/* Udskriver måned og år */
print ('<h2>'.date('F', $dato).' - '.$aar.'</h2>');
/* Udskriver forrige/næste knap */
printf('<a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">Forrige</a> - <a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">Næste</a>', date('m', strtotime("-1 month", $dato)), date('Y', strtotime("-1 month", $dato)), date('m', strtotime("+1 month", $dato)), date('Y', strtotime("+1 month", $dato))); 
/* Tabellen starter */
print ('<table border="1"><tr>');
/* En række med ugedage udskrives */
for ($i = 1; $i < count($uger); $i++) {
  print ('<td>'.$uger[$i].'</td>');
}
print ('</tr>');
/* Løkken kører så længe der er dage tilbage i måneden */
for ($dag = 1; $dag <= $antalDageMaaned; $dag++) {
  print ('<tr>');
  /* Ugedage-løkken køres igennem */
  for ($u = 1; $u <= 7; $u++) {
 
    /* Udskriver tomme pladser hvis måneden ikke starter med en mandag */
    if ($u < $foersteUgedag && $foersteUgedag+$dag <= 8) {
    print ('<td></td>');
    } else {
      /* Datoen udskrives, hvis den er inde for måneden, ellers kommer der bare en tom celle url links overfoeres*/
      print ( ($dag <= $antalDageMaaned)
              ? "<td><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>' );
      /* Hvis ugedagen ikke er søndag ligges der en til. (ellers tæller den to om søndagen) */
      if ($u != 7) $dag++;
    }
  }
  print ('</tr>');
}
print ('</table>');
?>

Hvorn gøres det dynamisk ?
I kan se det i funktion her:
www.2cool4you.dk/nse/tkal.php

Vil osse gerne gøre så det tjekker op med om der er et event på nogen af dagene, og hvis der er et event , skal den gøre skrifttypen tyk .. ligesom her: www.2cool4you.dk/nse/annonce(okt-2006).php  .. Det er bare ikke dynamisk .. Så der er det nemt nok .. Men vil hellere ha det dynamisk ..

FOrstår i hvad jeg ønsker ?

På Forhånd Tak.
Mads .
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 13:42 #1
prøv at sætte det her ind:
if(date('j', $dato) == $dag && date('n', $dato) == $maaned) {
print(($dag <= $antalDageMaaned)
              ? "<td style=\"background-color: #F00\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
} else {
($dag <= $antalDageMaaned)
              ? "<td><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>'
}
i stedet for:
print ( ($dag <= $antalDageMaaned)
              ? "<td><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>' );

mht. event så må du nok komme med lidt flere oplysninger...
Avatar billede inctor Nybegynder
08. november 2006 - 14:02 #2
Som du kan se her:
www.2cool4you.dk/nse/annonce(okt-2006).php

Så er de dage der er et event fremhævet med tyk skrift og der kommer en MouseOver effekt på så man kan se hvilke events der er ..

Hvorn gør jeg det på dette script ?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:04 #3
det kommer jo så an på hvordan du har lavet det med eventene
Avatar billede inctor Nybegynder
08. november 2006 - 14:05 #4
Parse error: syntax error, unexpected '}' in /customers/2cool4you.dk/2cool4you.dk/httpd.www/nse/tkal.php on line 47

39. if(date('j', $dato) == $dag && date('n', $dato) == $maaned)
40. print(($dag <= $antalDageMaaned)
41.              ? "<td style=\"background-color: #F00\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
42.              : '<td></td>');
43. } else {
44. ($dag <= $antalDageMaaned)
45.              ? "<td><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
46.              : '<td></td>'
47. }
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:06 #5
du mangler da vist en { sidst i linie 39 ;o)
Avatar billede inctor Nybegynder
08. november 2006 - 14:07 #6
cal_events
--id
--date
--month
--year
--event_des
--event_type
--event_owner

Sådan er min db opbygget ..
Avatar billede inctor Nybegynder
08. november 2006 - 14:09 #7
Ups den er i original scriptet ..
En fejl jeg lavede da jeg satte linie numre på:

      /* Datoen udskrives, hvis den er inde for måneden, ellers kommer der bare en tom celle url links overfoeres*/
if(date('j', $dato) == $dag && date('n', $dato) == $maaned) {
print(($dag <= $antalDageMaaned)
              ? "<td style=\"background-color: #F00\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
} else {
($dag <= $antalDageMaaned)
              ? "<td><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>'
}
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:10 #8
arh det er mig der har glemt ); i linie 46 efter </td>'
Avatar billede inctor Nybegynder
08. november 2006 - 14:12 #9
jaa og print i linie 44 .. :P
Men nu markere den en dag, men kun den første dag..
http://www.2cool4you.dk/nse/tkal.php
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:15 #10
så prøver vi lige det her i stedet for:
if(date('j', $dags_dato) == $dag && date('n', $dags_dato) == $maaned) {

og sæt den her ind et sted i toppen:
$dags_dato = now();
Avatar billede inctor Nybegynder
08. november 2006 - 14:18 #11
Fatal error: Call to undefined function: now() in /customers/2cool4you.dk/2cool4you.dk/httpd.www/nse/tkal.php on line 4


øøh ?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:20 #12
ahh det er mig der blander forskellige sprog sammen.
prøv med time() i stedet for
Avatar billede inctor Nybegynder
08. november 2006 - 14:22 #13
Sådan mester .. Nu fremhæver den den 8 ..
Kan du oss fixe det med MouseOver eventet ? :D
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:25 #14
muligvis.
du kan jo bruge næsten samme kode som du bruger nu, vil jeg tro. Så skal du "bare" lave et tjek af om dato'en fra cal_events er den samme som dato'en der bliver skrevet i kalenderen.
Hvis jeg skal lave det kan jeg godt, men det vil nok være nemmere hvis jeg kunne se det du bruger nu..
Avatar billede inctor Nybegynder
08. november 2006 - 14:30 #15
Er det iorden du kun for lidt af den ? da der er mange mange linier ..

740 linier .. så gir dig kun lige et stykke hvor jeg bruger tjekket..

<?   
if($maanedm==10 && $dato==1){
$td= "<td width=\"36\" height=\"32\" bgcolor=\"d3d1d1\" bordercolor=\"#8295A9\">";
} else {
$td= "<td width=\"36\" height=\"32\" bordercolor=\"#8295A9\">";
}
echo "$td";
?>
      <p align="center"><font size="3"><font size="3">
<?
$nsekstra1x=mysql_query("SELECT * FROM nse_annoncer WHERE dag=1 && maaned=10 && aar=2006")or die(mysql_error());
$row = mysql_fetch_array($nsekstra1x);
if($row['aktiv'] == 3){
?>
<a href="arrangementer.php?handling=vis&id=1&aar=2006&maaned=10" onmouseover="return overlib('<? $nsekstra1=mysql_query("SELECT * FROM nse_annoncer WHERE dag=1 && maaned=10 && aktiv=3")or die(mysql_error()); while($dag1=mysql_fetch_array($nsekstra1)) { echo " - $dag1[titel]<br>"; } ?>', STICKY, CAPTION,  'Den 1. Oktober:', CENTER);" onmouseout="return nd();">
<? echo "<b>1</a></font></b>"; }
else { echo "1"; } ?>
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:43 #16
hmm det kan blive en smule vanskeligt det her kan jeg se..
du skal bruge det her:
onmouseover="return overlib('<? $nsekstra1=mysql_query("SELECT * FROM nse_annoncer WHERE dag=1 && maaned=10 && aktiv=3")or die(mysql_error()); while($dag1=mysql_fetch_array($nsekstra1)) { echo " - $dag1[titel]<br>"; } ?>', STICKY, CAPTION,  'Den 1. Oktober:', CENTER);"

den skal så ændres til noget i den her retning:
onmouseover="return overlib('<? $nsekstra1=mysql_query("SELECT * FROM nse_annoncer WHERE dag=$dag && maaned=$maaned && aktiv=3")or die(mysql_error()); while($dag1=mysql_fetch_array($nsekstra1)) { echo " - $dag1[titel]<br>"; } ?>', STICKY, CAPTION,  'Den <?=$dag?>. <?=date('F', $dato)?>:', CENTER);"

den skal sættes ind i de to linier der ser således ud:
<a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a>

Jeg kan absolut ikke garantere at det virker for det er lidt anderledes end hvad jeg normalt ser
Avatar billede inctor Nybegynder
08. november 2006 - 14:45 #17
Hvorn mener du ? Hvorn ville du have gjort det ?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 14:56 #18
jeg ville nok have holdt php-koden ude af javascript-kaldet.
altså have lavet et kald til databasen og have lagt det ned i et array og søgt det igennem for hvilke datoer der er events på.
nok noget i retning af:
$sql = "SELECT * FROM nse_annoncer WHERE aktiv=3";
$res = mysql_query($sql) or die(mysql_error());
while($data = mysql_fetch_assoc($res)) {
  $event_array[$data[dag]."-".$data[maaned]][titel] = $data[titel];
  $event_array[$data[dag]."-".$data[maaned]][tekst] = $data[tekst];
}

foreach ($event_array as $dato => $data_array) {
  foreach($data_array as $key => $indhold){
    echo "key: $key<br>indhold:$indhold";
  }
}

og så selvf. noget andet i den inderste foreach. Det kan muligvis laves endnu smartere end det, jeg har bare lavet det som eksempel...
Avatar billede inctor Nybegynder
08. november 2006 - 14:57 #19
Kan du komme med et eksempel som kan passe ind i det nuværende kalender script ?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 16:02 #20
det jeg skrev i 08/11-2006 14:43:15 skulle vidst virke, men jeg har ikke testet det.
Avatar billede inctor Nybegynder
08. november 2006 - 16:13 #21
Jaa, men hvor skal jeg skrive det henne ?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 16:15 #22
som der står skal det ind her:
<a href='test.php?aar=$aar&maaned=$maaned&dato=$dag' onmouseover=\"SÆT DET IND I STEDET FOR DET HER\">$dag</a>
Avatar billede inctor Nybegynder
08. november 2006 - 16:17 #23
Men den skal jo kun lave MouseOver hvis der er et event den pågældende dag ? tager den højde for det ?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 16:26 #24
øhh, det har jeg så ikke lige styr på, men du kan jo prøve.
Avatar billede inctor Nybegynder
08. november 2006 - 16:30 #25
Der er jo en echo midt inde i den .. Har du en anden løsning ? som bare gør skriften tyg hvis der et event ?
Avatar billede sw_red_6 Nybegynder
08. november 2006 - 16:33 #26
hmm så skal der vidst laves en del om på det.
Jeg kan kigge på det i morgen, jeg er på vej ud af døren så...
Avatar billede inctor Nybegynder
09. november 2006 - 00:37 #27
Hmm .. Jeg har prøvet lidt selv ..
Og er nu kommet frem til dette:

$datoen =  date('j', $dags_dato);
if(date('j', $dags_dato) == $dag && date('n', $dags_dato) == $maaned) {
include("sql.php");
$get=mysql_query("SELECT * FROM nse_annoncer WHERE dag='$datoen' && maaned='11' && aar='2006'")or die(mysql_error());
$vis=mysql_fetch_array($get);
if($datoen=$vis[dag]){
print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'><b>$dag</b></a></td>"
              : '<td></td>');
} else {
print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
} }else{
include("sql.php");
$get2=mysql_query("SELECT * FROM nse_annoncer WHERE dag='$datoen' && maaned='11' && aar='2006'")or die(mysql_error());
$vis2=mysql_fetch_array($get2);
if($datoen=$vis2[dag]){
print(($dag <= $antalDageMaaned)
              ? "<td bgcolor=\"#E6E6E6\" border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'><b>$dag</b></a></td>"
              : '<td></td>');
} else {
print(($dag <= $antalDageMaaned)
              ? "<td bgcolor=\"#E6E6E6\" border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
} }

Men det fremhæver forkert, det fremhæver alle sammen hvis der er en med dag som den aktuelle dato, det ikk meningen jo, den skal udskrive kalenderen, hvor de dage der er noget skal være fremhævet .. Hvad har jeg gjort galt i det script del der ?
Avatar billede sw_red_6 Nybegynder
09. november 2006 - 12:00 #28
du kan lige prøve det her:
$datoen =  date('j', $dags_dato);
include("sql.php");
if(date('j', $dags_dato) == $dag && date('n', $dags_dato) == $maaned) {
  $get=mysql_query("SELECT * FROM nse_annoncer WHERE dag='$datoen' && maaned='11' && aar='2006'")or die(mysql_error());
  $vis=mysql_fetch_array($get);
  if($datoen==$vis[dag]){
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'><b>$dag</b></a></td>"
              : '<td></td>');
  } else {
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
  }
}

jeg kan ikke lige se hvordan det skal sættes ind uden at se hvordan koden ser ud nu..
Avatar billede inctor Nybegynder
09. november 2006 - 12:49 #29
Det hele ser nu :

<style type="text/css">
A:link{text-decoration: none ;  color:#000000}
A:visited{text-decoration: none ; color:#000000}
A:active{text-decoration: none ; color:#000000}
A:hover{text-decoration: none ; color:#AAAAAA}
</style>
<?php
$dags_dato = time();
/* Kalenderscriptet*/
/* Tjekker året er sat i adresselinien, ellers bliver det i år */
$aar = (empty($_GET['y'])) ? date(Y) : $_GET['y'];
/* Tjekker måneden er sat i adresselinien, ellers bliver den sat til aktuel måned */
$maaned = (empty($_GET['m'])) ? date('m') : $_GET['m'];
/* Array med ugedage */
$uger = array('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør', 'Søn');
/* Den aktuelle dato i unix epoch (antal sekunder siden 1. jan 1970) */
$dato = mktime(0,0,0,$maaned, 1, $aar);
/* Antal dage i måneden */
$antalDageMaaned = date('t', $dato);
/* Første ugedag (hvis det er søndag (0) sættes den til 7) */
$foersteUgedag = (date('w', $dato) == 0) ? 7 : date('w', $dato);
/* Udskriver forrige/næste knap */
printf('<table align="center" style="FONT-FAMILY: Arial; FONT-SIZE: 18px; " bordercolor="white" border=\"0\"><tr><td bgcolor="#E6E6E6" border="1" width="38" height="21" align="center" bordercolor="#8295A9"><a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">«</a></td> <td bgcolor="#E6E6E6" border="1"  height="21" align="center" bordercolor="#8295A9">'.date('F', $dato).' - '.$aar.'</td> <td bgcolor="#E6E6E6" border="1" width="38" height="21" align="center" bordercolor="#8295A9"><a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">»</a></td></tr></table>', date('m', strtotime("-1 month", $dato)), date('Y', strtotime("-1 month", $dato)), date('m', strtotime("+1 month", $dato)), date('Y', strtotime("+1 month", $dato))); 
/* Tabellen starter */
print ('<table align="center" style="FONT-FAMILY: Arial; FONT-SIZE: 14px; " bordercolor="white" border=\"0\"><tr>');
/* En række med ugedage udskrives */
for ($i = 1; $i < count($uger); $i++) {
  print ('<td bgcolor="#E6E6E6" border="1" width="38" height="21" align="center" bordercolor="#8295A9">'.$uger[$i].'</td>');
}
print ('</tr>');
/* Løkken kører så længe der er dage tilbage i måneden */
for ($dag = 1; $dag <= $antalDageMaaned; $dag++) {
  print ('<tr>');
  /* Ugedage-løkken køres igennem */
  for ($u = 1; $u <= 7; $u++) {
 
    /* Udskriver tomme pladser hvis måneden ikke starter med en mandag */
    if ($u < $foersteUgedag && $foersteUgedag+$dag <= 8) {
    print ('<td></td>');
    } else {
      /* Datoen udskrives, hvis den er inde for måneden, ellers kommer der bare en tom celle url links overfoeres*/
$datoen =  date('j', $dags_dato);
include("sql.php");
if(date('j', $dags_dato) == $dag && date('n', $dags_dato) == $maaned) {
  $get=mysql_query("SELECT * FROM nse_annoncer WHERE dag='$datoen' && maaned='11' && aar='2006'")or die(mysql_error());
  $vis=mysql_fetch_array($get);
  if($datoen==$vis[dag]){
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'><b>$dag</b></a></td>"
              : '<td></td>');
  } else {
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
  }
}

      /* Hvis ugedagen ikke er søndag ligges der en til. (ellers tæller den to om søndagen) */
      if ($u != 7) $dag++;
    }
  }
  print ('</tr>');
}
print ('</table>');

?>


Men nu udskriver den kun den aktuelle dato, ingen andre .. :S
Avatar billede sw_red_6 Nybegynder
09. november 2006 - 15:35 #30
prøv det her:
<?php
$dags_dato = time();
/* Kalenderscriptet*/
/* Tjekker året er sat i adresselinien, ellers bliver det i år */
$aar = (empty($_GET['y'])) ? date(Y) : $_GET['y'];
/* Tjekker måneden er sat i adresselinien, ellers bliver den sat til aktuel måned */
$maaned = (empty($_GET['m'])) ? date('m') : $_GET['m'];
/* Array med ugedage */
$uger = array('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør', 'Søn');
/* Den aktuelle dato i unix epoch (antal sekunder siden 1. jan 1970) */
$dato = mktime(0,0,0,$maaned, 1, $aar);
/* Antal dage i måneden */
$antalDageMaaned = date('t', $dato);
/* Første ugedag (hvis det er søndag (0) sættes den til 7) */
$foersteUgedag = (date('w', $dato) == 0) ? 7 : date('w', $dato);
/* Udskriver forrige/næste knap */
printf('<table align="center" style="FONT-FAMILY: Arial; FONT-SIZE: 18px; " bordercolor="white" border=\"0\"><tr><td bgcolor="#E6E6E6" border="1" width="38" height="21" align="center" bordercolor="#8295A9"><a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">«</a></td> <td bgcolor="#E6E6E6" border="1"  height="21" align="center" bordercolor="#8295A9">'.date('F', $dato).' - '.$aar.'</td> <td bgcolor="#E6E6E6" border="1" width="38" height="21" align="center" bordercolor="#8295A9"><a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">»</a></td></tr></table>', date('m', strtotime("-1 month", $dato)), date('Y', strtotime("-1 month", $dato)), date('m', strtotime("+1 month", $dato)), date('Y', strtotime("+1 month", $dato)));
/* Tabellen starter */
print ('<table align="center" style="FONT-FAMILY: Arial; FONT-SIZE: 14px; " bordercolor="white" border=\"0\"><tr>');
/* En række med ugedage udskrives */
for ($i = 1; $i < count($uger); $i++) {
  print ('<td bgcolor="#E6E6E6" border="1" width="38" height="21" align="center" bordercolor="#8295A9">'.$uger[$i].'</td>');
}
print ('</tr>');
/* Løkken kører så længe der er dage tilbage i måneden */
for ($dag = 1; $dag <= $antalDageMaaned; $dag++) {
  print ('<tr>');
  /* Ugedage-løkken køres igennem */
  for ($u = 1; $u <= 7; $u++) {

    /* Udskriver tomme pladser hvis måneden ikke starter med en mandag */
    if ($u < $foersteUgedag && $foersteUgedag+$dag <= 8) {
    print ('<td></td>');
    } else {
      /* Datoen udskrives, hvis den er inde for måneden, ellers kommer der bare en tom celle url links overfoeres*/
$datoen =  date('j', $dags_dato);
include("sql.php");
  $get=mysql_query("SELECT * FROM nse_annoncer WHERE maaned='$maaned' && aar='$aar'")or die(mysql_error());
  while($row = mysql_fetch_assoc($get)) {
    //HER SKAL DU SKRIVE NAVNENE PÅ DE RÆKKERNE I TABELLEN SOM SKAL BRUGES
    $vis[$row[dag]][]=$row[''];
  }
  $vis_keys = array_keys($vis);
  if($datoen==$dag){
    if(in_array($dag, $vis_keys)) {
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag' onmouseover=''><b>$dag</b></a></td>"
              : '<td></td>');
    } else {
      print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'><b>$dag</b></a></td>"
              : '<td></td>');
    }
  } else {
    if(in_array($dag, $vis_keys)) {
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag' onmouseover=''>$dag</a></td>"
              : '<td></td>');
    } else {
      print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'><b>$dag</b></a></td>"
              : '<td></td>');
    }
  }


      /* Hvis ugedagen ikke er søndag ligges der en til. (ellers tæller den to om søndagen) */
      if ($u != 7) $dag++;
    }
  }
  print ('</tr>');
}
print ('</table>');

?>
Avatar billede inctor Nybegynder
09. november 2006 - 18:13 #31
Hmm .. Efter lidt tilpasning fik ejg det til at virke .. :D
Men nu skal jeg ha lavet den MouseOver effekt, men det vil den ikke rigtigt ..

$datoen =  date('j', $dags_dato);
include("sql.php");
  $get=mysql_query("SELECT * FROM nse_annoncer WHERE maaned='$maaned' && aar='$aar'")or die(mysql_error());
  while($row = mysql_fetch_assoc($get)) {
    //HER SKAL DU SKRIVE NAVNENE PÅ DE RÆKKERNE I TABELLEN SOM SKAL BRUGES
    $vis[$row[dag]][dag]=$row['dag'];
  }
  $vis_keys = array_keys($vis);
  if($datoen==$dag){
    if(in_array($dag, $vis_keys)) {
        $maaned2=date('F', $dato);

$eventsget=mysql_query("SELECT * FROM nse_annoncer WHERE aktiv='3' && maaned='$maaned' && aar='$aar'")or die(mysql_error());
while($showevent=mysql_fetch_array($eventsget)){
$event="$showevent[titel]";
}
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag' onMouseover=\"return overlib('$event', STICKY, CAPTION,  'Den $dag. $maaned2:', CENTER);\"><b>$dag</b></a></td>"
              : '<td></td>');
    } else {
      print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#e6e6e6\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
    }
  } else {
    if(in_array($dag, $vis_keys)) {
        $maaned2=date('F', $dato);
$eventsget=mysql_query("SELECT * FROM nse_annoncer WHERE aktiv='3' && aar='$aar' && maaned='$maaned'")or die(mysql_error());
while($showevent=mysql_fetch_array($eventsget)){
$event="$showevent[titel]";
}
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#e6e6e6\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag' onMouseover=\"return overlib('$event', STICKY, CAPTION,  'Den $dag. $maaned2:', CENTER);\"><b>$dag</b></a></td>"
              : '<td></td>');
    } else {
      print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#e6e6e6\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
    }
  }

Sån er koden nu ..

Men for de dage der er fremhævet med tyk skrift skal der være mouseover med den tekst som høre til den titel som er angivet i databasen med et felt kaldet dag, den skal udskrive de rigtige titler til de rigtige dage, hvorn gør jeg det ?
Avatar billede inctor Nybegynder
09. november 2006 - 18:18 #32
Og hvorfor siger den:

Warning: array_keys() [function.array-keys]: The first argument should be an array in /customers/2cool4you.dk/2cool4you.dk/httpd.www/nse/tkal.php on line 64

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /customers/2cool4you.dk/2cool4you.dk/httpd.www/nse/tkal.php on line 77


? ( :
Avatar billede sw_red_6 Nybegynder
10. november 2006 - 08:58 #33
hmm det kan være fordi der ikke er noget i tabellen, derfor kan den ikke oprette arrayet der skal bruges på linie 64.
du kunne prøve det her:
$datoen =  date('j', $dags_dato);
include("sql.php");
  $get=mysql_query("SELECT dag FROM nse_annoncer WHERE maaned='$maaned' && aar='$aar' AND aktiv='3'")or die(mysql_error());
  while($row = mysql_fetch_assoc($get)) {
    //HER SKAL DU SKRIVE NAVNENE PÅ DE RÆKKERNE I TABELLEN SOM SKAL BRUGES
    $vis[]=$row['dag'];
  }
  if(!is_array($vis)) {
    $vis = array();
  }
  if($datoen==$dag){
    if(in_array($dag, $vis)) {
        $maaned2=date('F', $dato);

$eventsget=mysql_query("SELECT titel FROM nse_annoncer WHERE aktiv='3' && maaned='$maaned' && aar='$aar' AND dag = $dag")or die(mysql_error());
while($showevent=mysql_fetch_array($eventsget)){
$event="$showevent[titel]";
}
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#d3d1d1\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag' onMouseover=\"return overlib('$event', STICKY, CAPTION,  'Den $dag. $maaned2:', CENTER);\"><b>$dag</b></a></td>"
              : '<td></td>');
    } else {
      print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#e6e6e6\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
    }
  } else {
    if(in_array($dag, $vis)) {
        $maaned2=date('F', $dato);
$eventsget=mysql_query("SELECT * FROM nse_annoncer WHERE aktiv='3' && aar='$aar' && maaned='$maaned'")or die(mysql_error());
while($showevent=mysql_fetch_array($eventsget)){
$event="$showevent[titel]";
}
    print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#e6e6e6\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag' onMouseover=\"return overlib('$event', STICKY, CAPTION,  'Den $dag. $maaned2:', CENTER);\"><b>$dag</b></a></td>"
              : '<td></td>');
    } else {
      print(($dag <= $antalDageMaaned)
              ? "<td border=\"1\" width=\"38\" height=\"21\" align=\"center\" bordercolor=\"#8295A9\" style=\"background-color:#e6e6e6\"><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>"
              : '<td></td>');
    }
  }
Avatar billede korfits Nybegynder
13. november 2006 - 19:09 #34
Hvor var det du havde fundet det? Kan man fået link.
Avatar billede inctor Nybegynder
01. maj 2010 - 21:23 #35
Jeg lukker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester