News berichten weergeven of niet weergeven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arno van Zanten

Arno van Zanten

02/06/2022 13:00:40
Quote Anchor link
Ik zit met een stukje code dat niet naar geheel werkt.

news.php
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
<?php
    $sql
= 'SELECT * FROM News WHERE Active = 1 ORDER BY ID DESC LIMIT 1';
    $result = mysqli_query($connect, $sql);
    $news = mysqli_fetch_all($result, MYSQLI_ASSOC);
    mysqli_free_result($result);
    mysqli_close($connect);
    
    if($news['Active'] == '0'){
        echo "Here is the News";
    }
else {
        echo "No news at the moment! :".$news['Active'];
    }

    foreach($news as $new) {
        
            echo "
                </tr></td>
                <tr><td class='news_title' colspan='6'>"
.htmlspecialchars($new['Title'])."</td></tr>
                <tr><td class='news_content' colspan='6' height='100px'>"
.nl2br($new['Story'],false)."</td></tr>
                <tr><td class='news_writer' colspan='6'>Written by: "
.htmlspecialchars($new['Writer'])."<br></td></tr>
                <tr><td class='news_writer' colspan='6'>On the day: "
.date('d-m-Y - H:i:s',$new['date'])."</td></tr>";
            }

?>


en het gaat om deze code in news.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if($news['Active'] == '1'){
        echo "Here is the News";
    }
else {
        echo "No news at the moment! :".$news['Active'];
    }

?>

Als ik naar
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
foreach($news as $new) {
?>

kijk, dat is voor een loop bedoelt en ik wil dat als alle nieuws berichten op 0 staan, dat hij dan zegt geen nieuws berichten gevonden aangeeft.
Ook wil ik maar 1 hoofd item volledig tonen en de andere alleen als title als er meerdere news items zijn.
Die wil ik alleen tonen middel van een link.
 
PHP hulp

PHP hulp

01/02/2023 10:11:00
 
Jorn Reed

Jorn Reed

02/06/2022 13:10:14
Quote Anchor link
Doe een if statement om de loop heen om te kijken of `count($news) > 0` en in de else doe je die echo

Toevoeging op 02/06/2022 13:11:42:

Als je 1 element helemaal wilt tonen zou je een query kunnen doen met LIMIT 1 dan pak je maar 1 item, en dan zorg je er in je query voor dat dat bijv de nieuwste is. voor de rest gebruik je gewoon je normale query waarvan je de eerste skipt, met SKIP geloof ik. zodat hij dat nieuwste item overslaat
 
Ivo P

Ivo P

02/06/2022 13:36:43
Quote Anchor link
Jorn Reed op 02/06/2022 13:10:14:
met SKIP geloof ik. zodat hij dat nieuwste item overslaat


Met OFFSET
 
Jorn Reed

Jorn Reed

02/06/2022 13:41:22
Quote Anchor link
Ivo P op 02/06/2022 13:36:43:
Jorn Reed op 02/06/2022 13:10:14:
met SKIP geloof ik. zodat hij dat nieuwste item overslaat


Met OFFSET


Oh sorry je hebt gelijk!

Ik ben tegenwoordig te veel gewend aan OOP frameworks waar je meestal een query bouwt met chaining dus `->skip(1)`
 



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.