Ik heb een pagina waarop 4 plaatjes moeten komen te staan in een 2x2 tabel.

In het CMS heb ik de 4 plaatjes een prioriteit gegeven (1t/m4).

Hoe krijg ik deze nou in mijn tabel?



Dit is globaal de code:

query = QueryDb("SELECT * FROM banners WHERE status='1' ORDER BY prioriteit");

<tr>
<td>Hier moet plaatje met prioriteit=1 komen</td>
<td>Hier moet plaatje met prioriteit=2 komen</td>
</tr>
<tr>
<td>Hier moet plaatje met prioriteit=3 komen</td>
<td>Hier moet plaatje met prioriteit=4 komen</td>
</tr>


$sql="SELECT * FROM banners WHERE status='1' ORDER BY prioriteit";
$res=mysql_query(4sql);
while ($row=mysql_fetch_array($res){
?>
<tr>
<td><img src="<?php echo $row['jouwding']; ?>.jpg"></td>
<td><?php echo $row['jouwding']; ?>.jpg"></td>
</tr>
<tr>
<td><?php echo $row['jouwding']; ?>.jpg"></td>
<td><?php echo $row['jouwding']; ?>.jpg"></td>
</tr>
<?php } ?>


zoiets zou moeten werken. Uiteraard moet je jouwding even vervangen door de juiste kolomnaam in je tabel.
Kleine correctie in bovenstaand script van Klaasjan.

$res=mysql_query(4sql);
moet zijn
$res=mysql_query($sql);
ja mijn shift is niet altijd betrouwbaar :)
@ Klaasjan: nog een tip: als je een blok code plaatst waarin een aantal keren de php tags geopend en gesloten worden zet dan [.code.] en [./code.] (zonder de puntjes) om het hele blok heen. Dan wordt het veel leesbaarder. Ik zal het even voor je veranderen in jouw post, dan zie je hoe het werkt.
Klaasjan,

dat dacht ik dus ook, maar als ik dat doe krijg ik 4x hetzelfde plaatje (plaatje met prioriteit=1).
<?php
$sql="SELECT * FROM banners WHERE status='1' ORDER BY prioriteit";
$res=mysql_query(4sql);
?>
<tr>
<td><img src="<?php $row=mysql_fetch_array($res); echo $row['jouwding']; ?>.jpg"></td>
<td><img src="<?php $row=mysql_fetch_array($res); echo $row['jouwding']; ?>.jpg"></td>
</tr>
<tr>
<td><img src="<?php $row=mysql_fetch_array($res); echo $row['jouwding']; ?>.jpg"></td>
<td><img src="<?php $row=mysql_fetch_array($res); echo $row['jouwding']; ?>.jpg"></td>
</tr>


Let wel op dat als er geen 4 records zijn dit errors veroorzaakt.

Edit: Foutje.
Op die manier krijg ik nog steeds hetzelfde plaatje (alleen de eerste).

Ik heb het op de volgende manier opgelost (Steeds een andere conditie in de MySQL Query), maar het moet netter en makkelijker kunnen toch?


<td>
    <?php 
       $row = mysql_fetch_array(QueryDb("SELECT * FROM banners WHERE status='1' AND banner3!='' AND prioriteit='1'")); 

       echo '<img src="images/uploads/'.$row["banner3"].'" />';
    ?>
</td>
<td>
    <?php 
       $row = mysql_fetch_array(QueryDb("SELECT * FROM banners WHERE status='1' AND banner3!='' AND prioriteit='2'")); 

       echo '<img src="images/uploads/'.$row["banner3"].'" />';
    ?>
</td>
</tr>
<tr>
<td>
    <?php 
       $row = mysql_fetch_array(QueryDb("SELECT * FROM banners WHERE status='1' AND banner3!='' AND prioriteit='3'")); 

       echo '<img src="images/uploads/'.$row["banner3"].'" />';
    ?>
</td>
<td>
    <?php 
       $row = mysql_fetch_array(QueryDb("SELECT * FROM banners WHERE status='1' AND banner3!='' AND prioriteit='4'")); 

       echo '<img src="images/uploads/'.$row["banner3"].'" />';
    ?>
</td>

Dan zit dat plaatje dus ook 4 keer in de database.
Nee, 1 keer.

Ik denk dat er iets niet duidelijk was.

Ik heb een tabel met verschillende kolommens:
url, naam, omschrijving, plaatje

Nu heb ik dus 4 verscihllende records ingevoerd. En alle vier de records hebben een unieke prioriteit (1, 2, 3 of 4)

Nu wil ik dus de vier verschillende plaatjes opvragen.

Een while loopje is alleen lastig, omdat het in een 2x2 tabel komt. Dus heb ik het op bovenstaande manier opgelost. Maar is er een makkelijkere manier?
Maar in mijn scriptje haal ik 4 keer een record op en als dat 4 keer hetzelfde plaatje geeft staat ie 4 keer in de database.

Reageren