News berichten weergeven of niet weergeven
Ik zit met een stukje code dat niet naar geheel werkt.
news.php
en het gaat om deze code in news.php
Als ik naar
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.
news.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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>";
}
?>
$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)
Als ik naar
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.
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
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
Jorn Reed op 02/06/2022 13:10:14:
met SKIP geloof ik. zodat hij dat nieuwste item overslaat
Met OFFSET
Ivo P op 02/06/2022 13:36:43:
Met OFFSET
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)`




