While lus: naast elkaar tonen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$result = mysql_query("SELECT * FROM gebruikers WHERE rank='1'");
echo "<b>Moderators</b>
<table border='0'>";
while($row = mysql_fetch_array($result))
{
$avatar = $row['afbeelding'];
echo "<tr align='center'>";
echo "<td><FONT COLOR='#F53838'>" . $row['gebruikersnaam'] . "</FONT></td>";
echo "<td></td>";
echo "</tr>";
echo "<tr>";
echo "<td><img src='$avatar' width='150' height='150'></td>";
echo "<td></td>";
echo "</tr>";
echo "<br />";
}
echo "</table>";
echo "<b>Moderators</b>
<table border='0'>";
while($row = mysql_fetch_array($result))
{
$avatar = $row['afbeelding'];
echo "<tr align='center'>";
echo "<td><FONT COLOR='#F53838'>" . $row['gebruikersnaam'] . "</FONT></td>";
echo "<td></td>";
echo "</tr>";
echo "<tr>";
echo "<td><img src='$avatar' width='150' height='150'></td>";
echo "<td></td>";
echo "</tr>";
echo "<br />";
}
echo "</table>";
Gewijzigd op 03/04/2014 19:59:32 door Glenn B
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
31
32
33
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
31
32
33
<?php
// aantal gevonden records
$records = mysql_num_rows($result);
// aantal kolommen
$columns = 3;
// aantal rijen berekenen
$rows = intval($records / $columns);
// indien er een restant overblijft na de deling dan is er nog een extra rij nodig
if($records % $columns > 0)
$rows++;
// regel voor regel
for($i = 1 ; $i <= $rows ; $i++)
{
echo '<tr>';
// cel voor cel
for($j = 1 ; $j <= $columns ; $j++)
{
// geen records meer? stoppen dan
if($i * $columns + $j > $records)
break;
echo '<td>Hier komt een avatar</td>';
}
echo '</tr><br>';
}
?>
// aantal gevonden records
$records = mysql_num_rows($result);
// aantal kolommen
$columns = 3;
// aantal rijen berekenen
$rows = intval($records / $columns);
// indien er een restant overblijft na de deling dan is er nog een extra rij nodig
if($records % $columns > 0)
$rows++;
// regel voor regel
for($i = 1 ; $i <= $rows ; $i++)
{
echo '<tr>';
// cel voor cel
for($j = 1 ; $j <= $columns ; $j++)
{
// geen records meer? stoppen dan
if($i * $columns + $j > $records)
break;
echo '<td>Hier komt een avatar</td>';
}
echo '</tr><br>';
}
?>
Waarschijnlijk een domme vraag, maar wat moet ik dan doen met het volgende?
Waar moet ik die dan plaatsen?
normaal doe je dit:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
while($row = mysql_fetch_array($result))
{
// laat rij voor rij gegevens zien
}
?>
while($row = mysql_fetch_array($result))
{
// laat rij voor rij gegevens zien
}
?>
maar nu vraag je van te voren op hoeveel rijen er in de $result zitten met
daarop maken we een verdeling van rijen en kolommen. (telkens 3 naast elkaar) en gaan we net zoveel avatars weergeven als er rijen gevonden zijn. Dus dan hoef je alleen maar te doen
Toevoeging op 03/04/2014 23:45:07:
Het totale plaatje:
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
31
32
33
34
35
36
37
38
39
40
41
42
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
31
32
33
34
35
36
37
38
39
40
41
42
<?php
function renderAvatar($row)
{
return '<img src="'.$row['afbeelding'].'" width="150" height="150">';
}
//je query moet als eerste
$result = mysql_query('SELECT * FROM table');
// aantal gevonden records
$records = mysql_num_rows($result);
// aantal kolommen
$columns = 3;
// aantal rijen berekenen
$rows = intval($records / $columns);
// indien er een restant overblijft na de deling dan is er nog een extra rij nodig
if($records % $columns > 0)
$rows++;
echo '<table>';
// regel voor regel
for($i = 1 ; $i <= $rows ; $i++)
{
echo '<tr>';
// cel voor cel
for($j = 1 ; $j <= $columns ; $j++)
{
// teken de cel
if($row = mysql_fetch_array($result))
echo '<td>'.renderAvatar($row).'</td>';
else
echo '<td> </td>';
}
echo '</tr><br>';
}
echo '</table>';
?>
function renderAvatar($row)
{
return '<img src="'.$row['afbeelding'].'" width="150" height="150">';
}
//je query moet als eerste
$result = mysql_query('SELECT * FROM table');
// aantal gevonden records
$records = mysql_num_rows($result);
// aantal kolommen
$columns = 3;
// aantal rijen berekenen
$rows = intval($records / $columns);
// indien er een restant overblijft na de deling dan is er nog een extra rij nodig
if($records % $columns > 0)
$rows++;
echo '<table>';
// regel voor regel
for($i = 1 ; $i <= $rows ; $i++)
{
echo '<tr>';
// cel voor cel
for($j = 1 ; $j <= $columns ; $j++)
{
// teken de cel
if($row = mysql_fetch_array($result))
echo '<td>'.renderAvatar($row).'</td>';
else
echo '<td> </td>';
}
echo '</tr><br>';
}
echo '</table>';
?>
Gewijzigd op 03/04/2014 23:57:39 door Frank Nietbelangrijk
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
echo '<table>';
for($i = 1 ; $i <= $rows ; $i++)
{
echo '<tr>';
// cel voor cel
for($j = 1 ; $j <= $columns ; $j++)
{
if($row = mysql_fetch_array($result)) {
$avatar = $row['afbeelding'];
echo "<td><FONT COLOR='#F53838'>" . $row['gebruikersnaam'] . "</FONT></td>";
echo '</tr><br>';
echo '<tr>';
echo "<td><img src='$avatar' width='150' height='150'></td>";
}
else
echo '<td> </td>';
}
echo '</tr><br>';
}
echo '</table>';
for($i = 1 ; $i <= $rows ; $i++)
{
echo '<tr>';
// cel voor cel
for($j = 1 ; $j <= $columns ; $j++)
{
if($row = mysql_fetch_array($result)) {
$avatar = $row['afbeelding'];
echo "<td><FONT COLOR='#F53838'>" . $row['gebruikersnaam'] . "</FONT></td>";
echo '</tr><br>';
echo '<tr>';
echo "<td><img src='$avatar' width='150' height='150'></td>";
}
else
echo '<td> </td>';
}
echo '</tr><br>';
}
echo '</table>';
Ik heb je functie er even uitgehaald omdat die anders een error gaf, wat waarschijnlijk ook logisch zal zijn met mijn code. :')
Gewijzigd op 04/04/2014 01:18:48 door Glenn B
Gewijzigd op 05/04/2014 09:54:40 door Frank Nietbelangrijk