Nieuws script geeft nieuws niet meer weer

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Robert-Jan De Vries

Robert-Jan De Vries

01/08/2009 11:35:00
Quote Anchor link
Dag allemaal,

Ik heb een site waar ik regelmatig nieuws plaats. Hiervoor heb ik een overzicht met daarop nieuws van vandaag, gisteren en eergisteren. De site is nog niet zo lang online en dit is de eerste keer dat we bij een nieuwe maand zijn. Alleen nu zie ik geen nieuws meer staan van gisteren en eergisteren. Ik denk dat ik een fout heb gemaakt bij het script maar ik zie zelf niet wat de fout is.

Hieronder de code, achtereenvolgens dag 1(vandaag) dag 2(gisteren) dag3(eergisteren). Vandaag (dag1) werkt dus wel. Maar het nieuws in de DB van gisteren en eergisteren (31 en 30 juli) geeft hij dus niet meer weer...

<div id="nieuws">

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
51
52
53
54
55
<?


        // Query voor selecteren van nieuws van vandaag !
        

        $time12 = time() -0 ; // 1 dag in seconden
        $date12  = date("w j n Y G i", $time12);
        $t12     = time() - 60*60*24*3 ;
        $date12  = explode (" ", $date12);
        $dagen12 = array("zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag");
        $maanden12 = array(1 => "januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december");
        $jedag12 = $dagen12[$date12[0]];
        $jemaand12 = $maanden12[$date12[2]];

        
        $sql = "SELECT * FROM news
                WHERE DAY(datum) = DAY(NOW())
                AND MONTH(datum) = MONTH(NOW())
                AND YEAR(datum) = YEAR(NOW())
                ORDER by ID desc
                LIMIT 0,25"
;




        $query = mysql_query($sql);


        if (@mysql_num_rows($query) == 0 ){
            echo '
                    <h2> Vandaag </h2>
                    <ul class="overzicht_geen">
                        <li> Er zijn geen nieuwsberichten vandaag gevonden </li>
                    </ul>
            '
;
        }
else {


                echo " <h2> ". ucfirst($jedag12)." ".date('d')." ".ucfirst($jemaand12)." </h2>";


        while ($row = mysql_fetch_assoc($query)){

            $id = $row["id"];

             $sql10 = "SELECT count(id)
                        FROM reacties
                        WHERE nieuws_id = $id
                    "
;

            $query10 = mysql_query($sql10);
            $row10 = mysql_fetch_assoc($query10);

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<? echo"
                <table width=430>
            <tr>

                <td class=news>
                    <img style=\"vertical-align: middle;\" src=images/blok.PNG> &nbsp;  <a href=\"?page=news&id="
.stripslashes($row["id"]."\"> ".ucfirst($row["news_kop"]))."</a>

                </td>

            </tr>
        </table> "
;

?>




Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
51
52
<?
    }}


        // ------------------------------------------------------------------          DAG 2         ----------------------------------------------------------------------------------------- >?

        $time = time() - 86400; // 1 dag in seconden
        $date  = date("w j n Y G i", $time);
        $t     = time() - 60*60*24*3 ;
        $date  = explode (" ", $date);
        $dagen = array("zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag");
        $maanden = array(1 => "januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december");
        $jedag = $dagen[$date[0]];
        $jemaand = $maanden[$date[2]];


        // Query voor selecteren van nieuws van vandaag !
        $sql4 = "SELECT * FROM news
                 WHERE DATE(datum) = DATE(NOW()) - 1
                 ORDER BY id DESC"
;




        $query4 = mysql_query($sql4);


        if (@mysql_num_rows($query4) == 0 ){
            echo '
                    <h2> Gisteren </h2>
                    <ul class="overzicht_geen">
                        <li> Er zijn geen nieuwsberichten vandaag gevonden </li>
                    </ul>
            '
;
        }
else {
              $time_gisteren = time()-60*60*24;

                    echo " <h2> ". ucfirst($jedag)." ".date('d' , $time_gisteren)." ".ucfirst($jemaand)." </h2>";

        while ($row4 = mysql_fetch_assoc($query4)){

            $id = $row4["id"];

             $sql10 = "SELECT count(id)
                        FROM reacties
                        WHERE nieuws_id = $id
                    "
;

            $query10 = mysql_query($sql10);
            $row10 = mysql_fetch_assoc($query10);

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<? echo"
                <table width=430>
            <tr>
                
                <td class=news>
                    <img style=\"vertical-align: middle;\" src=images/blok.PNG> &nbsp;  <a href=\"?page=news&id="
.stripslashes($row4["id"]."\"> ".ucfirst($row4["news_kop"]))." </a>

                </td>
                
            </tr>
        </table> "
;
        
?>



Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?
    }}
        // ------------------------------------------------------------         DAG 3           --------------------------------------------------------------------------------- >?

        $time2 = time() - 172800; // 1 dag in seconden
        $date2  = date("w j n Y G i", $time2);
        $t2     = time() - 60*60*24*3 ;
        $date2  = explode (" ", $date2);
        $dagen2 = array("zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag");
        $maanden2 = array(1 => "januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december");
        $jedag2 = $dagen2[$date2[0]];
        $jemaand2 = $maanden2[$date2[2]];

        // Query voor selecteren van nieuws van vandaag !
        $sql9 = "SELECT * FROM news
                 WHERE DATE(datum) = DATE(NOW()) - 2
                 ORDER BY id DESC"
;  
                
        $query9 = mysql_query($sql9);
                
    
        if (@mysql_num_rows($query9) == 0 ){    
            echo '
                    <h2> Eergisteren </h2>
                    <ul class="overzicht_geen">
                        <li> Er zijn geen nieuwsberichten vandaag gevonden </li>
                    </ul>
            '
;
        }
else {
                 $time_eergisteren = time()- 172800;

                    echo " <h2> ". ucfirst($jedag2)." ".date('d' , $time_eergisteren)." ".ucfirst($jemaand2)." </h2>";
        
        while ($row9 = mysql_fetch_assoc($query9)){        
        
            $id = $row9["id"];

             $sql10 = "SELECT count(id)
                        FROM reacties
                        WHERE nieuws_id = $id
                    "
;
            
            $query10 = mysql_query($sql10);
            $row10 = mysql_fetch_assoc($query10);            

?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<? echo"
                <table width=430>
            <tr>

                <td class=news>
                    <img style=\"vertical-align: middle;\" src=images/blok.PNG> &nbsp; <a href=\"?page=news&id="
.stripslashes($row9["id"]."\"> ".ucfirst($row9["news_kop"]))."</a>

                </td>

            </tr>
        </table> "
;
?>
 
PHP hulp

PHP hulp

14/05/2024 04:52:29
 
Robert-Jan De Vries

Robert-Jan De Vries

01/08/2009 11:55:00
Quote Anchor link
Het probleem is dat hij echt aan het aftellen is. Als het dus vandaag 1 augustus is dan telt hij af en denkt hij dat gisteren 0 augustus was. Ik heb alleen geen idee hoe ik dit nou kan wijzigen dat hij wel gewoon gisteren 31 juli weer kan geven.

Iemand een oplossing?

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Robert-Jan De Vries
 
Zero XT

Zero XT

01/08/2009 11:58:00
Quote Anchor link
Ten eerste: toon alleen relevante code
Ten tweede: je probleem kan je oplossen door sql te laten rekenen met tijden. Kan/wil je dat niet kan je ook kijken naar de php functie: strtotime
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.