Toon posts:

[PHP/MYSQL]Nieuwsarchief

Pagina: 1
Acties:
  • 83 views sinds 30-01-2008

Verwijderd

Topicstarter
Ok mensen ik heb het volgende probleem.

Ik wil een archief aanmaken voor mijn tabel "nieuws". Nu wil dat dat als volgt eruit gaat zien. Hij moet steeds de $jaar pakken (dus 2003), en steeds kijken in welke maanden in dat jaar nieuws is gepost, $maand.
Nu heb ik het natuurlijk al wel geprobeerd maar kwam nu niet meer verder.

Ik heb nu dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php

$jaar = date('Y');
while($jaar < 2004) {
    $maand = 01;
    echo"<br>$jaar<br>";
    while($maand < 12) {
        if ($maand == 1) {
        echo"<br>Januari"; }
        if ($maand == 2) {
        echo"<br>Februari"; }
        if ($maand == 3) {
        echo"<br>Maart"; }
        if ($maand == 4) {
        echo"<br>April"; }
        if ($maand == 5) {
        echo"<br>Mei"; }
        if ($maand == 6) {
        echo"<br>Juni"; }
        if ($maand == 7) {
        echo"<br>Juli"; }
        if ($maand == 8) {
        echo"<br>Augustus"; }
        if ($maand == 9) {
        echo"<br>September"; }
        if ($maand == 10) {
        echo"<br>October"; }
        if ($maand == 11) {
        echo"<br>November"; }
        if ($maand == 12) {
        echo"<br>December"; }
        
        if(strlen($maand) < 2) {
            $maandtemp = '0' . $maand;
        }
        else {
            $maandtemp = $maand;
        }
        
        $select="SELECT * FROM nieuws WHERE dates LIKE '%$maand-$jaar%'";
        $query = mysql_query($select) or die(mysql_error());

        $maand++;
    }
    $jaar++; }

?>


Als ik hem online zet print ie dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
2003

Januari
Februari
Maart
April
Mei
Juni
Juli
Augustus
September
October
November


Frapant want in de maanden September, October en November staat al nieuws.

Wie weet hoe ik het nu verder moet aanpakken?

Alvast bedankt.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

ten eerste doe je niets met de query die je ophaalt.
ten tweede loopt hij nu maar 11 maanden door
ten derde het is oktober ipv october

Multimonitor is relax :P


Verwijderd

Topicstarter
Ten eerste je geeft geen antwoord op mijn probleem maar jah so be it.

ten tweede loopt hij nu maar 11 maanden door
>>>

Ik heb er inmiddels dit van gemaakt
code:
1
while($maand < 13) {


En ik doe nik met de query omdat ik dat nog niet heb gedaan wilde eerst kijken of hij nu al de 3 maanden filtert waar nieuws instaat, wat ie dus niet doet.

October/Oktober, het is maar wat de gek ervoor geeft...

[ Voor 24% gewijzigd door Verwijderd op 22-11-2003 00:32 ]


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

PHP:
1
while($maand < 12)


moet zijn:

PHP:
1
while($maand < 13)


want hij blijft lopen nu totdat hij 12 is. hierdoor komt hij niet bij de 12e maand

je kan met die query en dan met bijv mysql_fetch_row kijken of er die maand al wat ingevoerd is.

hier nog een link over php met mySQL:
http://www.phpfreakz.nl/artikelen.php?aid=19

lees eerst eens een tutorial over php en mysql zou ik zeggen, dit zijn nl. redelijk basisdingen.

[ Voor 8% gewijzigd door MeIsTwisted op 22-11-2003 00:32 ]

Multimonitor is relax :P


Verwijderd

laat maar, al bentwoord.

[ Voor 91% gewijzigd door Verwijderd op 22-11-2003 00:33 ]


Verwijderd

Topicstarter
Nou dus niet echt, in dat artikel staan verschillende dingen. Ik wil dus info uit database halen per maand gesorteerd. Maar als ik eerlijk moet zijn snap ik dat mysql_fetch_row() niet. Wel wat het inhoud maar niet op toepassing bij mij.

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Verwijderd schreef op 22 november 2003 @ 00:36:
Nou dus niet echt, in dat artikel staan verschillende dingen. Ik wil dus info uit database halen per maand gesorteerd. Maar als ik eerlijk moet zijn snap ik dat mysql_fetch_row() niet. Wel wat het inhoud maar niet op toepassing bij mij.
hoe zit je database precies in elkaar?

je kan met een query zoals dit kan je berichten uit de database halen:

PHP:
1
$query = "SELECT bericht, poster FROM nieuws ORDER BY maand";


vanuitgaande dat je tabel de velden bericht, poster, maand bevat

Multimonitor is relax :P


Verwijderd

Topicstarter
Ja dat snap ik allemaal wel. Ik heb gewoon nieuws table met bericht en verder casual dingen.

Ik heb het effe geprobeerd en dit was het resultaat:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
 
$jaar = date('Y');
while($jaar < 2004) {
    $maand = 01;
    echo"<br>$jaar<br>";
    while($maand < 13) {
        if ($maand == 1) {
        echo"<br>Januari"; }
        if ($maand == 2) {
        echo"<br>Februari"; }
        if ($maand == 3) {
        echo"<br>Maart"; }
        if ($maand == 4) {
        echo"<br>April"; }
        if ($maand == 5) {
        echo"<br>Mei"; }
        if ($maand == 6) {
        echo"<br>Juni"; }
        if ($maand == 7) {
        echo"<br>Juli"; }
        if ($maand == 8) {
        echo"<br>Augustus"; }
        if ($maand == 9) {
        echo"<br>September"; }
        if ($maand == 10) {
        echo"<br>October"; }
        if ($maand == 11) {
        echo"<br>November"; }
        if ($maand == 12) {
        echo"<br>December"; }
        
        if(strlen($maand) < 2) {
            $maandtemp = '0' . $maand;
        }
        else {
            $maandtemp = $maand;
        }
        
        $select="SELECT * FROM nieuws WHERE dates LIKE '%$maand-$jaar%'";
        $query = mysql_query($select) or die(mysql_error());
        $resultaat = mysql_num_row($query);
        
        echo"<br>$resultaat";

        $maand++;
    }
    $jaar++; }

?>


Nu print ie dit:

code:
1
2
3
2003

Januari


Verder geeft ie een Fatal error on line 44 aan.

[ Voor 20% gewijzigd door Verwijderd op 22-11-2003 00:49 ]


  • DR
  • Registratie: December 2000
  • Niet online

DR

maak der es mysql_num_rows van ipv row ;)

Verwijderd

Topicstarter
Eej maar das wel leuk. Nu krijg ik de maanden en daaronder een aantal.

Bij Januari staat 42. DIt klopt niet. Want er staat niks gepost op januari?!?

Maar dit wil ik dus helemaal niet. Ik wil dat hij alleen de maanden print waarin iets is gepost.

Iemand een oplossing?

[ Voor 30% gewijzigd door Verwijderd op 22-11-2003 00:57 ]


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Verwijderd schreef op 22 november 2003 @ 00:51:
Eej maar das wel leuk. Nu krijg ik de maanden en daaronder een aantal.

Bij Januari staat 42. DIt klopt niet. Want er staat niks gepost op januari?!?

Maar dit wil ik dus helemaal niet. Ik wil dat hij alleen de maanden print waarin iets is gepost.
je laat hem ook het aantal rijen printen. niet de rijen zelf

Multimonitor is relax :P


  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

Eventjes een tip: gebruik een switch. Dat is veel overzichtelijker dan al die if's en het is minder typwerk.

MechWarrior || Monsters Game


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

GambitRS schreef op 22 november 2003 @ 00:57:
Eventjes een tip: gebruik een switch. Dat is veel overzichtelijker dan al die if's en het is minder typwerk.
kan nog simpelen met een array met alle maanden erin en dan gewoon
code:
1
maanden[je_index]

opvragen

Multimonitor is relax :P


Verwijderd

Topicstarter
Wat jullie allemaal zeggen snap ik niet. Anders leg je het even uit.

Ik heb het weer wat veranderd: (alleen het onderste gedeelte)

PHP:
1
2
3
4
5
6
7
8
9
10
11
$select="SELECT * FROM nieuws WHERE dates LIKE '%$maand-$jaar%'";
        $query = mysql_query($select) or die(mysql_error());
        $resultaat = mysql_fetch_row($query);
        
        echo"<br>$resultaat";

        $maand++;
    }
    $jaar++; }

?>


Resultaat:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2003

Januari
Array
Februari

Maart

April

Mei

Juni

Juli

Augustus
Array
September
Array
October
Array
November
Array
December


Wat doe ik fout?

Ik moet ze nog uit de array halen met >>> $record = mysql_fetch_object($resultaat)) {

Maar dan krijg ik weer een parse eroor op line 45.

[ Voor 34% gewijzigd door Verwijderd op 22-11-2003 01:06 ]


  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

MeIsTwisted schreef op 22 november 2003 @ 00:59:
[...]


kan nog simpelen met een array met alle maanden erin en dan gewoon
code:
1
maanden[je_index]

opvragen
Als je dan echt moeilijk wilt gaan doen dan kan het nog simpeler met een aangepaste query die van alle maanden tegelijk alles binnenhaalt in plaats van aparte queries te gebruiken. Maar dat is voor een beginner een beetje lastig te begrijpen laat staan op te schrijven.

MechWarrior || Monsters Game


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

PHP:
1
2
3
4
$select="SELECT * FROM nieuws WHERE dates LIKE '%$maand-$jaar%'";
$query = mysql_query($select) or die(mysql_error());
$resultaat = mysql_fetch_row($query);
echo "<br>". $resultaat[bericht];


probeer hier eens wat mee.

[ Voor 13% gewijzigd door MeIsTwisted op 22-11-2003 01:07 . Reden: foutje ]

Multimonitor is relax :P


  • Crazy-
  • Registratie: Januari 2002
  • Laatst online: 10-08 08:15

Crazy-

Best life ever

iets zegt mij dat je maar iets doet en niet eens een idee hebt wat...

als je slim bent: www.phpfreakz.nl neem daar tutors door, ga oefenen en proberen etc. (mijn mening)

12,85kWp - ZB 7,5m2/400l - 5kW Pana H WP (CV&SWW) - 13,8kWh accu


  • LauPro
  • Registratie: Augustus 2001
  • Laatst online: 20-08 15:44

LauPro

Prof Mierenneuke®

Laat die datumfuncties aan php over, dat wiel is al vaak genoeg uitgevonden ;) :

http://nl3.php.net/manual/nl/function.strftime.php
http://nl3.php.net/manual/nl/function.setlocale.php

Inkoopacties - HENK terug! - Megabit
It is a war here, so be a general!


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Crazy- schreef op 22 november 2003 @ 01:06:
iets zegt mij dat je maar iets doet en niet eens een idee hebt wat...

als je slim bent: www.phpfreakz.nl neem daar tutors door, ga oefenen en proberen etc. (mijn mening)
mee eens

Multimonitor is relax :P


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

vraagje, waarom gebruik je zo'n lading IFjes?
gewoon 1 switch zou toch veel makkelijker zijn (en een stuk sneller)

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Topicstarter
Wolfboy schreef op 22 november 2003 @ 01:09:
vraagje, waarom gebruik je zo'n lading IFjes?
gewoon 1 switch zou toch veel makkelijker zijn (en een stuk sneller)
Omdat ik nog nooit van een switch heb gehoord.

Verwijderd

Topicstarter
MeIsTwisted schreef op 22 november 2003 @ 01:06:
PHP:
1
2
3
4
$select="SELECT * FROM nieuws WHERE dates LIKE '%$maand-$jaar%'";
$query = mysql_query($select) or die(mysql_error());
$resultaat = mysql_fetch_row($query);
echo "<br>". $resultaat[bericht];


probeer hier eens wat mee.
Hier kom ik ook niet veel verder mee, hij print gewoon alle 12 de maanden.

Verwijderd

Topicstarter
Crazy- schreef op 22 november 2003 @ 01:06:
iets zegt mij dat je maar iets doet en niet eens een idee hebt wat...

als je slim bent: www.phpfreakz.nl neem daar tutors door, ga oefenen en proberen etc. (mijn mening)
Dan heb je dat toch goed fout. Liever geen conclusies trekken als je de situatie niet weet.

[ Voor 10% gewijzigd door Verwijderd op 22-11-2003 01:14 ]


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

neem gewoon een paar tutorials bezig. Ik bedoel het helemaal niet verkeerd, maar je snap nog niet helemaal waar je mee bezig bent. Als je wat tutorials doorwerkt, dan wordt het je allemaal een stuk duidelijker.

Multimonitor is relax :P


Verwijderd

Topicstarter
Ik begrijp je. Ik ben al best lang bezig met php/mysql.
Maar jah ik krijg hier dus geen antwoord op mijn probleem, beetje vreemd. Ik weet misschien wel een beetje waarom. Omdat noobs hier gewoon geen fatsoenlijk antwoord krijgen. Denk je nou echt niet dat ik eerst tutorials heb gelezen. Denk je nou echt niet dat ik het probeer. Kijk eerst eens met watvoor code ik aankwam. Dat kan een beginner niet zo maar typen, wel copieren ja. Daarnaast ik probeer het, ik probeer verder maar op een gegeven moment zit je vast. Geloof toch echt dat dit forum daarvoor dient.
Beetje laffe zaak dit.

Ik snap heus wel waarmee ik ik bezig ben. Wil een Archief met een jaar en daaronder maanden waarin al gepost is en daarachter alle posts van die maand. Dat laatste lukt me. Het lukt me niet om de maanden eruit te filteren van dat jaar.

[ Voor 30% gewijzigd door Verwijderd op 22-11-2003 01:26 ]


  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 04-02 09:14

Brothar

meester

De vraag is het halve antwoord (nofi).

Bij een duidelijk gestelde vraag, is een antwoord makkelijker te geven. Je vraag is (vind ik - maar wie ben ik -) vrij algemeen. Dus (mijnz inziens) wek je de indruk net te beginnen met php.
De verklaring voor mijn reactie - nofi = no flame intended, oftewel met andere woorden: "ik wil je niet afzeiken" - geeft Kippenijzer al.

Ik heb het hele topic nu 3 keer gelezen, en begrijp nu:
- uit je eerste posting blijkt dat de query niet werkt (nog even afgezien dat je loop moest eindigen bij 13 i.p.v. 12).
- de fout zit hem dus (daarna) uitsluitend in je SQL-opdracht: er wordt niets opgehaald uit de database.

Hou er wel rekening mee, dat als je nieuwsberichten uit de dagbladpers en omroepen in je systeem opneemt, en dit op Internet zet (of op een andere manier verveelvoudigt en openbaarmaakt), dat je dan inbreuk maakt op het auteursrecht van de opstellers (en hun werkgevers).

[ Voor 132% gewijzigd door Brothar op 22-11-2003 01:48 ]

eagle


Verwijderd

Topicstarter
Brothar schreef op 22 november 2003 @ 01:26:
De vraag is het halve antwoord (nofi).
Verklaar je nader. (nofi?)

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 16-08 09:43

Kippenijzer

McFallafel, nu met paardevlees

Wederom geen antwoord op je vraag.
Verwijderd schreef op 22 november 2003 @ 01:23:
Ik ben al best lang bezig met php/mysql.
Tja, gelukkig valt het wel te merken, je hebt van de helft van de adviezen nog nooit gehoord, en erger nog, je weigert ze aan te nemen. Ik krijg de indruk dat je gewoon wacht tot iemand je een letterlijk werkende code geeft die precies doet wat je wilt, en dan nog snap je waarschijnlijk weinig van _waarom_ het werkt, maar ben je blij dat het werkt. Je plaats dus gewoon een scriptrequest. Het viel me op dat je andere topic daar ook veel naar neigen.
Je zou er toch verstandig aan doen om je geflame richting de behulpzame mensen in dit topic achterwege te laten, en al helemaal het andere mensen n00bs noemen, met de manier waarop jij je zelf opstelt.
Switch is gewoon een hele normale php functie. Effe opzoeken in de php manual, en je weet wat hij doet. Net zo met andere stukjes code die mensen je adviseerden, daarnaar kijk je niet van "snap ik het? Nee, niet echt" waarna je reageert : "Ja, daar heb ik niet aan, of leg uit wat ik hieraan heb". Nee, we zijn geen helpdesk, we bieden adviezen, maar je mag zelf ook wat moeite ervoor doen, dus als iemand code geeft die je niet snapt, dan zoek je de functies die je niet begrijpt even op wat ze doen om het zo te leren begrijpen. Dan hoef je bij een volgend probleem ook minder snel hier weer een topic te plaatsen, waarin je naar eigen zeggen toch geen antwoord krijgt...

  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

sorry, maar je bent nog duidelijk een beginner.

op de manier dat jij data uit een database wilt halen is erg basic.

lees nog meer tutorials zou ik zeggen

tuurlijk willen we je hier wel helpen, maar dan moet je wel zelf ook genoeg kennis hebben, want als we tips geven en je snapt niet wat we bedoelen, dan schiet het nog niet erg op.

Multimonitor is relax :P


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

Wolfboy schreef op 22 november 2003 @ 01:09:
vraagje, waarom gebruik je zo'n lading IFjes?
gewoon 1 switch zou toch veel makkelijker zijn (en een stuk sneller)
basiskennis: switch
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if ($i == 0) {
    print "i equals 0";
} elseif ($i == 1) {
    print "i equals 1";
} elseif ($i == 2) {
    print "i equals 2";
}

switch ($i) {
    case 0:
        print "i equals 0";
        break;
    case 1:
        print "i equals 1";
        break;
    case 2:
        print "i equals 2";
        break;
}
?>

of in jouw geval
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   if ($maand == 1) {
        echo"<br>Januari"; }
        if ($maand == 2) {
        echo"<br>Februari"; }
        if ($maand == 3) {
        echo"<br>Maart"; }

switch ($maand) {
    case 1:
        echo'<br>Januari';
    case 2:
        echo'<br>Februari'; 
    case 3:
        echo'<br>Maart';
}

[ Voor 24% gewijzigd door Wolfboy op 22-11-2003 01:43 . Reden: php tag afsluiten is 12%??? ]

Blog [Stackoverflow] [LinkedIn]


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

Wolfboy schreef op 22 november 2003 @ 01:42:
[...]

basiskennis: switch

hoop code

}
[/quote]

en nog wat nettere manier is deze vind ik:

PHP:
1
2
3
4
5
maanden=array("januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december");

for($i=0; $i<12; $i++){
    echo maanden[$i] . "<br>";
}

[ Voor 18% gewijzigd door MeIsTwisted op 22-11-2003 01:47 ]

Multimonitor is relax :P


Verwijderd

Topicstarter
Dit is geen scriptrequest voor alle duidelijkheid. Ik kom al met een halfwerkend script aan wat ik zelf heb geschreven. Dan los ik nog zelf wat kleine dingen op. Lees de tutorial op phpfreakz door. Zeg jij dat ik niks doe.
En ik ga in op de vraag Waarom ik geen switches gebruik, ik beantwoord daarop:Omdat ik nog nooit van een switch heb gehoord. Dit had ik inmiddels in die tijd al opgezocht, toch aardig dat Wolfboy het nog even post maar was al niet meer nodig, had men code al aangepast.
Kippenijzer 1 tip. Oordeel niet te snel.

  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

hmm had niet eens gezien dat ie daarvoor een while had gebruikt :P
maar dat is idd een betere oplossing ja
(sorry had post niet goed gelezen, dacht dat ie de data uit de db haalde en daarom if ... = ... had neergezet)

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Topicstarter
En dan nog heel effe. Niemand heeft in dit topic ook maar 1 tip gegeven hoe ik dan die maanden kan filteren. Het hoeft geen volledig antwoord te zijn, er is gewoon helemaal nix gemeld over hoe ik dat moet aanpakken. Over de uitwerking denk ik dan zelf wel na. Ach ja (dat zegt genoeg denk ik).

  • Brothar
  • Registratie: Oktober 2000
  • Laatst online: 04-02 09:14

Brothar

meester

Communiceren is 2-richtingsverkeer. Als Kippenijzer en ik het bij het verkeerde eind hebben, wek je toch wel een andere indruk. (Kippenijzer had ter controle van zijn "snelle oordeel" anders ook je oude topics gelezen zo te zien).

Heb je overigens al naar je LIKE-clause gekeken ? (Dààr filter je je maand mee, en dat is mede afhankelijk van hoe je je database hebt ingericht).
Je LIKE-clause komt op mij vreemd over: het lijkt alsof in de tabel wordt gezocht naar een nieuwsitem in de jaren 1991- 2002. (afhankelijk van de maand: 12 - 1 ).
Maar ik ken alleen sql (in ieder geval geen php)

(je manier van reageren zegt mij genoeg, ik kap ermee, 't is laat genoeg)

[ Voor 20% gewijzigd door Brothar op 22-11-2003 02:01 ]

eagle


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

voor de duidelijkheid, je wilt dus een script wat per maand kijkt of er nieuws is gepost in de database?

Blog [Stackoverflow] [LinkedIn]


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

nou, vooruit dan maar:

kijk eens naar deze code:
PHP:
1
2
3
    $result = mysql_query("SELECT * FROM nieuws WHERE jaar='2003' ORDER BY dates");
    $nieuwsPost = mysql_fetch_row($result);
    echo $nieuwsPost['bericht']."<br>";

misschien dat je hiermee wat kan? code is overigens niet helemaal af, want hij laat het nu niet zien per maand, maar icm met eerdere code die ik heb gegeven en zelf nog wat toevoegen kom je een eind

[ Voor 78% gewijzigd door MeIsTwisted op 22-11-2003 02:05 . Reden: foutje ]

Multimonitor is relax :P


Verwijderd

Topicstarter
Wolfboy schreef op 22 november 2003 @ 02:00:
voor de duidelijkheid, je wilt dus een script wat per maand kijkt of er nieuws is gepost in de database?
Ja zoiets.
Kijk ik heb een eigen cms systeem gemaakt. Daar adden ik en wat andere mensen nieuws mee. Daar zit gewoon een datefunctie in. Dus hij registreert gewoon bijv 02:09 en 22-11-2003.

Nu wil ik dus het volgende. Als ik bijvoorbeeld op 1 december iets post. Dat er dan in het archief de maand December wordt aangemaakt(December wordt een link). Als je dan december aanklikt verschijnen daar alle posts uit december.

Hoop dat ik zo duidelijk ben.

Verder moet het ook zijn: als ik straks op 1 januari 2004 iets post dat hij in het archief dus 2004 print en daaronder dan weer januari aanmaakt. Volgens mij werkt deze theorie niet met de geposte code van MeIsTwisted. Correct me if i'm wrong.

Kijk effe voor de duidelijkheid. Ik kan ook gewoon zelf handmatig 2003 neerzetten en handmatig steeds een maand erbij gaan zetten, maar dan maak ik geen gebruik van de functionaliteit van php/mysql.

[ Voor 27% gewijzigd door Verwijderd op 22-11-2003 02:14 ]


  • MeIsTwisted
  • Registratie: November 2001
  • Laatst online: 28-07-2023

MeIsTwisted

not a Twisted mind

ik weet niet zeker of query werkt, maar dit id is het wel:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
$maanden=array("januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december");

for($i=0; $i<12; $i++){
    echo $maanden[$i] . "<br>";
    $maand = $i;
    if($maand<10){
        $maand = "0" . $maand;
    }
    $result = mysql_query("SELECT * FROM nieuws WHERE jaar='2003' AND dates LIKE '%-$maand-%' ORDER BY dates");
    while($nieuwsPost = mysql_fetch_row($result)){
        echo $nieuwsPost['bericht'] . "<br>";
    }
}

Multimonitor is relax :P


  • Wolfboy
  • Registratie: Januari 2001
  • Niet online

Wolfboy

ubi dubium ibi libertas

daar zou je natuurlijk zoiets voor kunnen gebruiken
PHP:
1
2
3
4
5
if(isset($_GET['year'])){
\\beetje code
mysql_query('SELECT * FROM nieuws WHERE maand="'.$_GET['maand'].'" ORDER BY dates');
\\nog wat code
}
en dan dit erbij
PHP:
1
2
$maanden=array('januari','februari','maart','april','mei','juni','juli','augustus','september','oktober','november','december'); 
for($i=0;$i<12;$i++)echo'<a href="'.$_SERVER['PHP_SELF'].'?maand='.$maanden[$i].'">'.$maanden[$i].'</a>';
onder voorbehoud van typo's

[ Voor 30% gewijzigd door Wolfboy op 22-11-2003 02:27 ]

Blog [Stackoverflow] [LinkedIn]


Verwijderd

Topicstarter
Ok ths, ik ga er wat mee aanklooien.

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:10
Hoi.

Ten eerste stel ik voor dat je dringend eens een tutorial/manual etc. over de materie gaat volgen /lezen, want dit zijn nogal basic-dingen die je vraagt.
Hier in P&W willen we je best helpen, maar dan staat er ook tegenover dat je zelf ook wat moeite doet om zelf dingen uit te zoeken, ipv voor ieder wissewasje het aan anderen over te laten.

Daarnaast valt het me ook op dat je soms behoorlijk onvriendelijk bent tegen de mensen die op je topic reageren. Wees er van bewust dat jij het bent die hulp nodig heeft, en dat de mensen hier je vrijwillig helpen. Ik zou dus maar wat minder 'agressief' reageren als je wil dat deze mensen je in de toekomst nog verder willen helpen.

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.