nieuwe regel na 2 files
Ik had even een klein vraagje. Voor school ben ik bezig met een soort van gallerie waarbij muziekbestanden uit een directory worden gehaald en als link op de pagina getoond worden. Dit lukt allemaal perfect. Nu wil ik het alleen zo maken dat je 2 geluidsbestanden per regel te zien krijgt i.p.v alles onder elkaar of achter elkaar.
Heeft iemand misschien een voorbeeldje van de complete code (incl. tabel) want ik kom er echt niet uit. Ik heb het al met count() geprobeerd maar dat lukt op de een of andere manier niet. Ik heb het idee dat het vrij simpel is maar ik krijg het niet voor elkaar.
Bedankt alvast,
Martijn
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
43
44
45
46
47
48
49
50
51
52
53
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
43
44
45
46
47
48
49
50
51
52
53
<?php
// De plaatjes moeten in een tabel komen, dus eerst de tabel maken
echo "<table width=\"95%\" border=\"0\" class=\"maintext\">\n";
// De eerste rij moet sowieso komen, dus ook die vast maken
echo "<tr height=\"125\">\n";
// Hoeveel kolommen per rij?
$maxKol = 3;
// Nu een query
$query = mysql_query("SELECT id, img FROM projecten ORDER BY id DESC");
// Aantal resultaten
$aantal = mysql_num_rows($query);
// En dus de while-loop van de query-resultaten
while ($result = mysql_fetch_row($query))
{
// De eerste counter is om bij te houden hoeveel plaatjes er op een rij zijn, de tweede voor het totaal aantal plaatjes die geplaatst zijn
$plaatjeRij++;
$plaatjeTotaal++;
// En ergens moeten we natuurlijk ook de kolom maken, hier dus
echo "<td align=\"center\"><img src=\"plaatje.jpg\"></td>\n";
/* Als $plaatjeTotaal/$maxKol een geheel getal is dan moet er een nieuwe rij komen (3/3=1 of 6/3=2 of 9/3=3, etc, kan natuurlijk ook als $maxKol 2 is: 2/2=1, 4/2=2 etc.
Als het geen geheel getal is dan is de rij niet afgemaakt: 5/3=1.6667, etc. */
if (is_int($plaatjeTotaal/$maxKol))
{
// Omdat het een geheel getal is betekend het automatisch dat de rij vol is, dus de rij wordt afgesloten en het aantal plaatjes op de rij wordt op 0 gezet
echo "</tr>\n";
$plaatjeRij = 0;
// En als $aantal nog niet gehaald is, dan moet er nog een nieuwe regel
if ($aantal != $plaatjeTotaal)
{
echo "<tr height=\"125\">\n";
}
} else {
if ($aantal == $plaatjeTotaal)
{
// Het aantal resultaten uit de query is gelijk wat we hebben gehad...
// nu moeten we de rij vol maken.
$colspan = $maxKol - $plaatjeRij;
echo "<td colspan=\"$colspan\"> </td>\n</tr>\n";
}
}
}
// Einde tabel
echo "</table>\n";
?>
// De plaatjes moeten in een tabel komen, dus eerst de tabel maken
echo "<table width=\"95%\" border=\"0\" class=\"maintext\">\n";
// De eerste rij moet sowieso komen, dus ook die vast maken
echo "<tr height=\"125\">\n";
// Hoeveel kolommen per rij?
$maxKol = 3;
// Nu een query
$query = mysql_query("SELECT id, img FROM projecten ORDER BY id DESC");
// Aantal resultaten
$aantal = mysql_num_rows($query);
// En dus de while-loop van de query-resultaten
while ($result = mysql_fetch_row($query))
{
// De eerste counter is om bij te houden hoeveel plaatjes er op een rij zijn, de tweede voor het totaal aantal plaatjes die geplaatst zijn
$plaatjeRij++;
$plaatjeTotaal++;
// En ergens moeten we natuurlijk ook de kolom maken, hier dus
echo "<td align=\"center\"><img src=\"plaatje.jpg\"></td>\n";
/* Als $plaatjeTotaal/$maxKol een geheel getal is dan moet er een nieuwe rij komen (3/3=1 of 6/3=2 of 9/3=3, etc, kan natuurlijk ook als $maxKol 2 is: 2/2=1, 4/2=2 etc.
Als het geen geheel getal is dan is de rij niet afgemaakt: 5/3=1.6667, etc. */
if (is_int($plaatjeTotaal/$maxKol))
{
// Omdat het een geheel getal is betekend het automatisch dat de rij vol is, dus de rij wordt afgesloten en het aantal plaatjes op de rij wordt op 0 gezet
echo "</tr>\n";
$plaatjeRij = 0;
// En als $aantal nog niet gehaald is, dan moet er nog een nieuwe regel
if ($aantal != $plaatjeTotaal)
{
echo "<tr height=\"125\">\n";
}
} else {
if ($aantal == $plaatjeTotaal)
{
// Het aantal resultaten uit de query is gelijk wat we hebben gehad...
// nu moeten we de rij vol maken.
$colspan = $maxKol - $plaatjeRij;
echo "<td colspan=\"$colspan\"> </td>\n</tr>\n";
}
}
}
// Einde tabel
echo "</table>\n";
?>
Elwin
Maar in jouw geval zal je tabel nooit goed worden afgemaakt als er een oneven aantal gegevens in de tabel moet staan (ik ga er van uit dat er twee per regel moeten). Bij jou zal je dan op de laatste regels zoiets hebben:
En bij die van mij dit:
En dat komt omdat jij niet mee neemt of er een colspan moet komen in een kolom...
Elwin
[Edit: Opmaak gefixed]
Gewijzigd op 25/03/2004 21:12:00 door Elwin - Fratsloos
gr,
Martijn