Nieuwsartikelen weergeven in overzicht
Ik wil graag dat er een lijst van nieuwsartikelen wordt weergegeven.
Ik heb nu deze query
Code (php)
1
2
3
4
2
3
4
$result = mysqli_query($db, "SELECT id, title, image, date FROM articles ORDER BY DATE LIMIT 3");
if($result) {
// de query is gelukt, nu gaan we fetchen...
while($data = mysqli_fetch_assoc($result)) {
if($result) {
// de query is gelukt, nu gaan we fetchen...
while($data = mysqli_fetch_assoc($result)) {
Alleen nu wil ik graag dat het eerste artikel uit deze lijst een andere weergave krijgt in dit overzicht.
Dus: je zet een variabele die aangeeft of je voor het eerst door de lus heen gaat of niet en overeenkomstig te handelen. Je kan ook proberen het met alleen CSS op te lossen.
Code (php)
1
2
3
4
5
2
3
4
5
$result = mysqli_query($db, "SELECT id, title, image, date FROM articles ORDER BY DATE LIMIT 3");
if($result) {
// de query is gelukt, nu gaan we fetchen...
while($data = mysqli_fetch_assoc($result)) {
{;?>
if($result) {
// de query is gelukt, nu gaan we fetchen...
while($data = mysqli_fetch_assoc($result)) {
{;?>
<div class="normal"></div>
En dan het eerste artikel de class="new"
Gewijzigd op 09/08/2015 20:55:38 door Niels Rietveld
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$result = mysqli_query($db, "SELECT id, title, image, date FROM articles ORDER BY DATE LIMIT 3");
if($result) {
// de query is gelukt, nu gaan we fetchen...
$first = true;
while($data = mysqli_fetch_assoc($result)) {
?>
<div class="<?php echo $first ? 'new' : 'normal'; ?>">
<?php echo $data['title'] ?>
</div>
<?php
$first = false;
}
}
?>
$result = mysqli_query($db, "SELECT id, title, image, date FROM articles ORDER BY DATE LIMIT 3");
if($result) {
// de query is gelukt, nu gaan we fetchen...
$first = true;
while($data = mysqli_fetch_assoc($result)) {
?>
<div class="<?php echo $first ? 'new' : 'normal'; ?>">
<?php echo $data['title'] ?>
</div>
<?php
$first = false;
}
}
?>
Gewijzigd op 09/08/2015 21:05:33 door Ben van Velzen
Oke en als ik nu ook wil dat de artikelen die na de 3 nieuwste komen ook een andere weergave hebben, hoe los ik dat op?
Indien de opmaak erg afwijkt wordt het met Ben zijn opzet waarschijnlijk toch een beetje een zootje en kun je de opmaak beter splitsen.
Gewijzigd op 09/08/2015 21:14:01 door Ben van Velzen
Niels Rietveld op 09/08/2015 21:09:35:
Oke en als ik nu ook wil dat de artikelen die na de 3 nieuwste komen ook een andere weergave hebben, hoe los ik dat op?
Op dezelfde wijze: kwestie van bijhouden hoeveel berichten je hebt gehad.
Dan heb je heel die keuzes in je PHP niet nodig.
En als je om de 3 <div>s iets wilt doen: div:nth-child(3) ?
Scheelt je een hoop code-aanpassingen en je houdt je code veel schoner (=beter).
Toevoeging op 10/08/2015 08:31:05:
Waarom zal je moeilijk doen als je in je CSS gewoon div:first-child kan gebruiken?
Dan heb je heel die keuzes in je PHP niet nodig.
En als je om de 3 <div>s iets wilt doen: div:nth-child(3) ?
Scheelt je een hoop code-aanpassingen en je houdt je code veel schoner (=beter).