Avatar billede larserik Nybegynder
28. april 2007 - 19:47 Der er 10 kommentarer

Liste måneder

Hei,

Jeg har en query som gir meg en liste:

25.04.07 - The title
10.02.07 - The title
02.02.07 - The title
07.01.07 - The Title
02.01.07 - The title
01.01.07 - The Title

Hvordan kan jeg få min PHP kode til å liste på denne måten istedet:


25.04.07 - The title

10.02.07 - The title

02.02.07 - The title

07.01.07 - The Title
02.01.07 - The title
01.01.07 - The Title

Altså.. et mellomrom mellom hver måned!?

tusen takk!
Avatar billede windcape Praktikant
28. april 2007 - 22:08 #1
Det afhænger af hvordan du henter data'en.. post din nuværende kode først.
Avatar billede larserik Nybegynder
28. april 2007 - 22:16 #2
<?
$query = "select * from reviews order by review_date desc";
include '../../mysql.inc';
$result = mysql_query($query) or die ("Query failed");
$numofrows = mysql_num_rows($result);

for($i = 0; $i < $numofrows; $i++) {
    $row = mysql_fetch_array($result); //get a row from our result set
    if($i % 2) { //this means if there is a remainder
        echo "<table width=\"100%\" border=\"0\" cellpadding=\"4\" cellspacing=\"2\" bgcolor=\"#ffffff\">\n";
    } else { //if there isn't a remainder we will do the else
        echo "<table width=\"100%\" border=\"0\" cellpadding=\"4\" cellspacing=\"2\" bgcolor=\"#e2ebf2\">\n";
    }           

        echo "<tr>\n";
        echo "<td width=\"50%\" height=\"20\"><span class=\"style61\"><a href=\"view.php?content=".$row['reviewid']."\" class=\"reviewslist\">".$row['artist']." - ".$row['title']."</a></span></td>\n";
        echo "<td width=\"30%\"><span class=\"style61\"><a href=\"view.php?content=".$row['reviewid']."\" class=\"reviewslist\">".$row['label']."</a></span></td>\n";
//        echo "<td width=\"19%\"><span class=\"style61\">".$row['label']."</span></td>\n";
        echo "<td width=\"20%\"><span class=\"style61\"><a href=\"view.php?content=".$row['reviewid']."\" class=\"reviewslist\"><img src=\"../gfx/small/".$row['rating'].".gif\" border=\"0\"></a></span></td>\n";
        echo "</tr>\n";
        echo "</table>\n";

}
?>



Ønsker at det skal være mellomrom mellom månedene når den printes ut her.
Avatar billede windcape Praktikant
28. april 2007 - 22:28 #3
Parse dato værdien til et månedesnummer, f.eks. med explode

Herefter gemmer du så måneden i en variabel, og checker om det er den samme som foregående.

Og hvis det så ikke er samme månede udskriver du et linjeskift.
Avatar billede larserik Nybegynder
28. april 2007 - 22:36 #4
hmm har du en eksempelkode jeg kan se på? :)
Avatar billede windcape Praktikant
28. april 2007 - 22:36 #5
nej, og agter ikke at skrive en. Det er jo meningen du skal lære noget.
Avatar billede bauerdata Nybegynder
29. april 2007 - 16:19 #6
lastmonth=-1

for get ny måned ...
  if lastmonth <> ny nymåned
    lastmonth = ny måned
    echo <br>
Avatar billede windcape Praktikant
29. april 2007 - 17:33 #7
det er så PHP :p ikke VB mr. bauer
Avatar billede bauerdata Nybegynder
29. april 2007 - 17:44 #8
Det er ikke VB der er pseudo kode mr. windscape
Avatar billede windcape Praktikant
29. april 2007 - 20:43 #9
*host* i C/C++ orienteret kodestil benytter vi != og ikke <> ;-)
og der er også foreach i php.

<> hører mere til i basic/pascal.
Avatar billede bauerdata Nybegynder
29. april 2007 - 21:18 #10
ja og pseudo kode :O)
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