Avatar billede only-boy Nybegynder
09. januar 2005 - 18:56 Der er 4 kommentarer og
1 løsning

Opdel efter valgte år

Hejsa,

på min hjemmeside har jeg et stort nyhedsscript som jeg benytter mig af til at udsende lidt nyheder med. Til det formål, har jeg lavet et arkiv da nyhederne kun bliver vist på min forside for en kort bemærkning. Til dette formål vil jeg gerne havde lidt hjælp (se siden her: http://www.syngre.net/news.archives.php).


Lige pt. viser den alle nyheder som findes i databasen. Som skrevet/vist i toppen vil jeg gerne havde et script som kan opdele dem lidt. Når man kommer ind på siden skal den automatisk havde valgt det pga. år man befinder sig i. Ellers skal de vises i det år de er skrevet i. Vælger jeg 2004 kommer alle frem for 2004 osv. Vælger jeg alle, vil jeg gerne kunne se alle.

Den skal max vise 25 nyheder ad gangen, ellers skal den lave en side 2 så man får mulighed for at bladre.

Som det pt. også er nu, så er der et stort tomrum mellem toppen og selve nyhederne. Skyldes vist noget fejl med min tabel, håber at det kan løses i samme omgang.


Uddrag af filen "news.archives.php":

<TABLE cellSpacing=0 cellPadding=0 width=622 border=0>
  <TBODY>
  <TR>
    <TD class=content vAlign=top width=418>

        <DIV class=blogcontent>
<h2>Nyhedsarkiv</h2>

Her har du mulighed for at se tidligere nyheder skrevet af mig, da man via
forsiden kun kan finde de 2 nyeste nyheder. De er opdelt efter dato, dvs. de
ældste nederst og de nyste øverst.

<br>
<br>

Hver side kan kun fremvise 25 nyheder á gangen, derfor kan du skifte til en anden side nederst og derved bladre i nyhederne.

<div class="hr"></div>

Vis alle | 2004 | 2005


<table border="0" width="100%">
  <tr>
    <td width="55%">Titel</td>
    <td width="35%">Dato</td>
    <td width="10%">Indlæg</td>
  </tr>
  <tr>
    <td colspan="2"></td>
  </tr>

<?php
include('inc.config.php');
$query = mysql_query("SELECT id,title,DATE_FORMAT(date,'%e/%c-%Y %T') AS date FROM news") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) {
    if ($i++ != 0) echo '<br>';
    echo '<tr>';
    echo '<td><a href="news.display.php?id='.$row['id'].'">'.$row['title'].'</a></td>';
    echo '<td>'.$row['date'].'</td>';
    echo '</tr>';

}
?>

</table>


<div class="hr"></div>
<a href="java script:window.scrollTo(0,0)">Til toppen</a> |
<a href="index.php">Forsiden / Nye nyheder</a> |
<a href="news.search.php">Søg efter nyhed</a>


</DIV></TD><TD class=extra vAlign=top align=left width=142>


<?php include ('includes/menu.php'); ?>


</TD></TR></TBODY></TABLE>



// Only á IT boy
Avatar billede erikjacobsen Ekspert
09. januar 2005 - 18:59 #1
Tomrummet skyldes
    if ($i++ != 0) echo '<br>';
Du kan ikke sætte linieskift ind i en tabel. Brug evt en tom <tr> eller start en ny tabel.
Avatar billede only-boy Nybegynder
09. januar 2005 - 19:02 #2
erikjacobsen --->

Takker, det hjalp da en smule på det :-)
Avatar billede morteeart Nybegynder
09. januar 2005 - 19:02 #3
f.eks. ved dine årstal

<a href="?aar=2004">2004</a>

og så:

<?
if(isset($_GET['aar']))
{
$start = $_GET['start'];
if($start == null) { $start = 0; )
$end = $start + 25;
$aar = $_GET['aar'];
$query = mysql_query("SELECT blablabal ... WHERE årstal='$aar' LIMIT $start,$end ");

blabla

og så laver du noget <a href="?aar=2004&amp;start=26&amp">2004</a>
---
så har du nogle ider at bygge videre fra.
Avatar billede only-boy Nybegynder
19. januar 2005 - 19:26 #4
hey morteeart,

ville nok nemt kunne finde ud af at indbygge "<a href="?aar=2004">2004</a>" som du skriver ved årstallet. Det andet må du tilgengæld gerne være lidt mere behjælpelig med, da jeg ikke er den bedste til PHP/MySQL (nybegynder som bare pokker) :-)

Og beklager at jeg først svare nu.
Avatar billede only-boy Nybegynder
23. marts 2005 - 19:08 #5
-> Lukker.....
  -> god påske :-)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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