Waarden uitlezen uit Db
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>
Code (php)
1
2
3
4
2
3
4
$sql="SELECT * FROM banners WHERE status='1' ORDER BY prioriteit";
$res=mysql_query(4sql);
while ($row=mysql_fetch_array($res){
?>
$res=mysql_query(4sql);
while ($row=mysql_fetch_array($res){
?>
<tr>
<td><img src=".jpg"></td>
<td>.jpg"></td>
</tr>
<tr>
<td>.jpg"></td>
<td>.jpg"></td>
</tr>
zoiets zou moeten werken. Uiteraard moet je jouwding even vervangen door de juiste kolomnaam in je tabel.
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
$res=mysql_query(4sql);
moet zijn
$res=mysql_query($sql);
ja mijn shift is niet altijd betrouwbaar :)
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
dat dacht ik dus ook, maar als ik dat doe krijg ik 4x hetzelfde plaatje (plaatje met prioriteit=1).
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?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>
$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.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Ik heb het op de volgende manier opgelost (Steeds een andere conditie in de MySQL Query), maar het moet netter en makkelijker kunnen toch?
Code (php)
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
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
<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>
<?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>
Gewijzigd op 01/01/1970 01:00:00 door Tom Hes
Dan zit dat plaatje dus ook 4 keer in de database.
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.
Of niet?
Ik kan nergens uit opmaken dat ie de volgende record pakt. Of zie ik dat ergens over het hoofd?
Ik weet nl 100% zeker dat het plaatje er niet 4 keer in staat
Met deze regel leest ie een record uit. Doe je die regel nogmaals dan leest ie weer een (volgend) record uit. Je gebruikt dit principe ook bij de loop:
while($row=mysql_fetch_array($res))
De while blijft steeds een (volgend) record lezen totdat ie de laatste heeft en dan stopt de while.
bij mij gaf ie namelijk een foutmelding bij de $res=mysql_query($sql);
Hij kon geen verbinding maken met de database, dus heb ik geprobeerd dat op te lossen, maar waarschiijnlijk fout.
$res=mysql_query(4sql);
moet natuurlijk zijn
$res=mysql_query($sql);
bij de script post van klaas-jan stond deze er nl. niet voor.. :) ;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$host="hostname";
$user="username";
$password="password";
$database="dbnaam";
mysql_pconnect($host, $user, $password) or trigger_error(mysql_error());
mysql_select_db($database) or trigger_error(mysql_error());
$sql="SELECT * FROM banners WHERE status='1' ORDER BY prioriteit";
$res=mysql_query($sql);
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 } ?>
$host="hostname";
$user="username";
$password="password";
$database="dbnaam";
mysql_pconnect($host, $user, $password) or trigger_error(mysql_error());
mysql_select_db($database) or trigger_error(mysql_error());
$sql="SELECT * FROM banners WHERE status='1' ORDER BY prioriteit";
$res=mysql_query($sql);
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 } ?>
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
Flipze, de meeste mensen zijn nog niet dom hier...
lijkt me wel ja.
Als dat het zou zijn, moet ik me wel erg diep schamen...
misschien had hij het er wel klakkeloos in zijn script geplakt.. ;)
edit;
dus ik bedoelde er niks mee betreft domheid..
Gewijzigd op 01/01/1970 01:00:00 door Wout van der Burg
Meestal wil ik altijd eerst zelf uitzoeken, voordat ik iets post.
Of post ik iets als ik matrix cijfertjes in mn ogen heb, en dan blijkt ik veel te ver te zoeken...