---
title: "Arkivscript"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/80995-arkivscript"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Micke^2"
published: "2003-07-01T12:26:08.000Z"
updated: "2003-07-01T13:43:24.000Z"
replies: 3
views: 324
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/80995-arkivscript"
---

# Arkivscript

## #1 — Micke^2, 2003-07-01T12:26Z

hej. 
jag behöver hjälp med en funktion i ett script jag har, jag har redan fått veta vad som behövs göras men eftersom jag inte kan php så bra frågar jag här :).
det är ett script man ska kunna ändra månad och år för att få fram olika nyheter.

scriptet:

```php
<form action='<?=$_SERVER[PHP_SELF];?>' method='POST'> 

<?php 

$DBhost = "localhost";
$DBdatabase = "nyhet";
$DBuser = "DBA";
$DBpass = "";

mysql_connect("$DBhost","$DBuser","$DBpass") or exit(mysql_error());
mysql_select_db("$DBdatabase") or exit(mysql_error());

function getDayName($dayNr){ 
    $dayNames = array ( 
        'Söndag', 'Måndag', 'Tisdag', 'Onsdag', 
        'Torsdag', 'Fredag', 'Lördag'); 
    return $dayNames[$dayNr]; 
} 

function getMonthName($monthNr){ 
    $monthNames = array( 
        1 => 'Januari', 'Februari', 'Mars', 'April', 'Maj', 'Juni', 
        'Juli', 'Augusti', 'September', 'Oktober', 'November', 'December'); 
    return $monthNames[$monthNr]; 
} 

function makeDayLink($day,$month,$year){ 
   $timestamp = mktime(1,1,1,$month,$day,$year); 
   $eventQuery = @mysql_query("SELECT eventtime FROM mbaEvents WHERE eventtime='$timestamp'") or exit(mysql_error()); 
   $antal = mysql_num_rows($eventQuery); 
   if($antal > 0){ 
      $link = "<a href='$_SERVER[PHP_SELF]?showdayevent=$timestamp'>$day</a>"; 
   }else{ 
      $link = "<span class='mini'>$day</span>"; 
   } 
   return $link; 
} 

   echo"<center><table width='500' style='border-style:solid;border-color:#BEDCF1;border-width:1;'>"; 
   $thismonth = getMonthName(date("n")); 
   $thisday = getDayName(date("w")); 
   $thisDate = date("d"); 
   echo"<tr bgcolor='#BEDCF1'><td colspan='2'><center><span class='big'>$thisday $thisDate $thismonth</span></center></td></tr>"; 

   echo"<tr><td valign='top'>"; 
   echo"<SELECT name='year' onChange='document.forms[0].submit();'>"; 
    
   $selectedYear = date("Y"); 
   if(!isset($_POST[year])){ 
      $_POST[year] = $selectedYear; 
   
   }else{ 
      $selectedYear = $_POST[year]; 
   } 
   if(isset($_GET[showdayevent])){ 
      $_POST[year] =  date("Y",$_GET[showdayevent]); 
      $selectedYear = date("Y",$_GET[showdayevent]); 
   } 
   for($i=$selectedYear-1;$i<=$selectedYear+2;$i++){ 
      if($selectedYear == $i){ 
         $sel = "SELECTED"; 
      }else{ 
         $sel = ""; 
      } 
      echo "<option value='$i' $sel>$i</option>"; 
   } 
   echo"</SELECT>  "; 
   echo"<SELECT name='month' onChange='document.forms[0].submit();'>"; 
   $selectedMonth = date("n"); 
   if(!isset($_POST[month])){ 
      $_POST[month] = $selectedMonth; 
   }else{ 
      $selectedMonth = $_POST[month]; 
   } 
   if(isset($_GET[showdayevent])){ 
      $_POST[month] =  date("m",$_GET[showdayevent]); 
      $selectedMonth = date("m",$_GET[showdayevent]); 
   } 
   for($i=1;$i<=12;$i++){ 
      if($selectedMonth == $i){ 
         $sel = "SELECTED"; 
      }else{ 
         $sel = ""; 
      } 
      $selMonth = getMonthName($i); 
      echo "<option value='$i' $sel>$selMonth</option>"; 
   } 
   echo"</SELECT>"; 
   echo"</td></tr>"; 
   if(!isset($_GET['showdayevent'])){ 
      $geteventtimestamp = mktime(1,1,1,date("m"),date("d"),date("Y")); 
      $evDate = "idag"; 
   }else{ 
      $geteventtimestamp = $_GET[showdayevent]; 
      $evDate = date("y-m-d",$geteventtimestamp); 
   } 
    
   echo"<tr><td valign='top' align='left' class='cellborder'><hr></td>"; 
   
   echo "</td></tr>"; 
   echo"<tr><td colspan='2'>"; 
   $daysInMonth = date("t",mktime(1,1,1,$_POST['month'],1,$_POST['year'])); 
   $firstDayNr = date("w",mktime(1,1,1,$_POST['month'],1,$_POST['year'])); 
   if($firstDayNr == 0){ 
      $firstDayNr = 7; 
   } 
   $firstDayNr-=2; 
   $dayNumberArray = array(); 
   for($i=0;$i<=$firstDayNr;$i++){ 
      $dayNumberArray[] = ""; 
   } 
   for($i=1;$i<=$daysInMonth;$i++){ 
      if($i <= 9){ 
         $dNr = "0$i"; 
      }else{ 
         $dNr = $i; 
      } 
      $dayNumberArray[] = $dNr; 
   } 
    
   echo"<center><table>"; 

$scud = mysql_db_query('nyhet' , "SELECT * FROM nyhet WHERE manad = '$manad' && ar = '$ar' ORDER BY id DESC") or exit(mysql_error());  

        while ($rad = mysql_fetch_array ($scud)) {

echo "  <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
echo "  <tr>\n";
echo "  <td>\n";
echo "  <table width=\"90%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">\n";
echo "  <tr>\n";
echo "  <td><img src=\"../Main/Menu_table.gif\" width=\"100%\" height=\"10\"></td>\n";
echo "  </tr>\n";
echo "  <tr>\n";
echo "  <td><table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
echo "  <tr>\n";
echo "  <td width=\"30%\"><div align=\"center\"><img src=\"../Bilder/Nyhet.gif\" widt§h=\"15\" height=\"15\"></div></td>\n";
echo "  <td width=\"70%\" class=\"Datum\"><strong>","Skrivet:", " ", $rad[1], " ", $rad[2] , "," , " ", $rad[3], " ", "av", " " ,"<a href=\"mailto:", $rad[6],"\">", $rad[4],"</A></strong></td>\n";
echo "  </tr>\n";
echo "  </table></td>\n";
echo "  </tr>\n";
echo "  </table>\n";
echo "  </td>\n";
echo "  </tr>\n";
echo "  <tr> \n";
echo "  <td>&</td>\n";
echo "  </tr>\n";
echo "  <tr>\n";
echo "  <td>\n";
echo "  <table width=\"90%\" align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
echo "  <tr>\n";
echo "  <td>", $rad[5] ,"</td>\n";
echo "  </tr>\n";
echo "  </table>\n";
echo "  </td>\n";
echo "  </tr>\n";
echo "  $rad[7]\n";
echo "  <tr> \n";
echo "  <td>&</td>\n";
echo "  </tr>\n";
echo "  </table>\n";}

   echo"</table></center>"; 
   echo"</td></tr>"; 
   echo"</table></centeR>"; 
?> 
</form>
```

detta behövs göras:

> När man ändrar så sparar du år i $ar, månad i $manad  (dvs, de värdena man valt i din drop-down-meny)
> Sen gör du om $manad från siffervärdet (1, 2..., 12) till månadens namn (januari, februari, osv...)

tacksam för hjälp
/micke

Permalänk: https://www.webforum.nu/p/80995

## #2 — Agaith, 2003-07-01T13:19Z

Kan du specifiera lite mer vad du vill uppnå, har själv anväånt mig av det scriptet och modifierat det lite granna så bara du säger vad du vill så jag fattar skall det nog gå att lösa.

Permalänk: https://www.webforum.nu/p/1099188

## #3 — Micke^2, 2003-07-01T13:39Z

jag vill kunna ändra värderna i dropdownmenyn så olika nyheter kommer fram beroende på vilken månad det är.
scriptet finns på denna sida i "action": <http://dba.shacknet.nu/Allmant/Arkiv.php>

den enda skillnaden mellan dom scripten är quoteraden

/micke

Permalänk: https://www.webforum.nu/p/1099201

## #4 — Agaith, 2003-07-01T13:43Z

micklade med det lite själv och det slutade med att jag lade till en knapp för att välja år/månad och tog bort den automatiska script-prylen (dvs onChange).  Går säkerligen att fixa om man kan javascript bättre än mig.

Permalänk: https://www.webforum.nu/p/1099203

---

Tråden på webben: https://www.webforum.nu/amne/php/80995-arkivscript
