Kolommen vullen
Ik ben bezig met een stukje code, maar ik kom er echt niet uit. Ik heb een tabel, en daar wil ik in elke kolom / rij een volgend record hebben.
De tabel heeft 5 kolommen, waarvan er 3 te vullen zijn en 2 als scheiding. Een kolom moet gevuld worden met data uit een SQL-database, en deze moet vervolgens opvolgend per kolom / rij weergegeven worden.
Het zou dus zoiets moeten zijn:
Naam 1 | Naam 2 | Naam 3
Naam 4 | Naam 5 | Naam 6
Eventueel zou ik het liefst dat nog per categorie regelen. Dus zoiets:
Quote:
Categorie 1
--------------------------------
Naam 1 | Naam 2 | Naam 3
Naam 4 | Naam 5 | Naam 6
Categorie 2
--------------------------------
Naam 1 | Naam 2 | Naam 3
Naam 4 | Naam 5 | Naam 6
--------------------------------
Naam 1 | Naam 2 | Naam 3
Naam 4 | Naam 5 | Naam 6
Categorie 2
--------------------------------
Naam 1 | Naam 2 | Naam 3
Naam 4 | Naam 5 | Naam 6
Ik heb nu de volgende code:
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
54
55
56
57
58
59
60
61
62
63
64
65
66
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
54
55
56
57
58
59
60
61
62
63
64
65
66
<?
$sql = mysql_query("SELECT * FROM cats ORDER BY name");
while($row = mysql_fetch_array($sql)) {
$therow = $therow + 1;
echo '<a href="index.php?task=category&id='.$row['id'].'">'.$row['name'].'</a>';
$sql2 = mysql_query("SELECT * FROM games WHERE catergory_id=".$row['id']." AND published=1 ORDER BY rand() LIMIT 5");
while($row2 = mysql_fetch_array($sql2)) {
// Image
if ($row2['import'] == 1) {
$image = '<img src="'.$site_url.'/games/images/'.$row2['url'].'.png" width="25" height="25" alt="'.$row2['name'].'" />';}
else if ($row2['import'] == 3) {
$image = '<img src="'.$site_url.'/games/images/'.$row2['image'].'" width="25" height="25" alt="'.$row2['name'].'" />';}
else {
$image = '<img src="'.$row2['image'].'" width="25" height="25" alt="'.$row2['name'].'" />';
}
// Naam
if (strlen($row2['name']) > 26) {
$name = substr($row2['name'], 0, 26)."...";
}
else {
$name = $row2['name'];
}
// Link
if ($seo_on == 0) {
$game_url = 'index.php?task=view&id='.$row2['id'].'';}
else {
$abcd= $row2['name'];
$abcd = str_replace (" ", "-", $abcd);
$abcd = preg_replace ( "/[\.,\";'\:]/", "", $abcd );
$game_url = 'view/'.$row2['id'].'/'.$abcd.'';
}
// Weergave
echo '<table align="center" cellpadding="0" cellspacing="0" style="width: 850px">
<tr>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
<td style="width: 20px; height: 19px"></td>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
<td style="width: 20px; height: 19px"></td>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
</tr>
<tr>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
<td style="width: 20px"> </td>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
<td style="width: 20px"> </td>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
</tr>
</table>';
if ($therow == 3) {
echo '<br style="clear: both"/></div>';
$therow = 0;
}
}
?>
$sql = mysql_query("SELECT * FROM cats ORDER BY name");
while($row = mysql_fetch_array($sql)) {
$therow = $therow + 1;
echo '<a href="index.php?task=category&id='.$row['id'].'">'.$row['name'].'</a>';
$sql2 = mysql_query("SELECT * FROM games WHERE catergory_id=".$row['id']." AND published=1 ORDER BY rand() LIMIT 5");
while($row2 = mysql_fetch_array($sql2)) {
// Image
if ($row2['import'] == 1) {
$image = '<img src="'.$site_url.'/games/images/'.$row2['url'].'.png" width="25" height="25" alt="'.$row2['name'].'" />';}
else if ($row2['import'] == 3) {
$image = '<img src="'.$site_url.'/games/images/'.$row2['image'].'" width="25" height="25" alt="'.$row2['name'].'" />';}
else {
$image = '<img src="'.$row2['image'].'" width="25" height="25" alt="'.$row2['name'].'" />';
}
// Naam
if (strlen($row2['name']) > 26) {
$name = substr($row2['name'], 0, 26)."...";
}
else {
$name = $row2['name'];
}
// Link
if ($seo_on == 0) {
$game_url = 'index.php?task=view&id='.$row2['id'].'';}
else {
$abcd= $row2['name'];
$abcd = str_replace (" ", "-", $abcd);
$abcd = preg_replace ( "/[\.,\";'\:]/", "", $abcd );
$game_url = 'view/'.$row2['id'].'/'.$abcd.'';
}
// Weergave
echo '<table align="center" cellpadding="0" cellspacing="0" style="width: 850px">
<tr>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
<td style="width: 20px; height: 19px"></td>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
<td style="width: 20px; height: 19px"></td>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
</tr>
<tr>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
<td style="width: 20px"> </td>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
<td style="width: 20px"> </td>
<td style="width: 270px"><div id="category_home_games"><a href="'.$site_url.'/'.$game_url.'">'.$image.' '.$name.'</a></div></td>
</tr>
</table>';
if ($therow == 3) {
echo '<br style="clear: both"/></div>';
$therow = 0;
}
}
?>
Iemand enig idee aub?
Als je je tabellen allemaal een Float:left meegeeft?
Justin schreef op 12.06.2009 13:23:
Als je je tabellen allemaal een Float:left meegeeft?
Kan ik daarmee de kolommen vullen zoals ik in mijn startpost aangeef? Ik heb al van alles geprobeerd maar het lukt me niet om steeds een volgend record geselecteerd te krijgen. Een float:left is toch alleen om de tabel te plaatsen? Dat is niet wat ik wil...
Iemand die mij kan helpen aub? Bedankt!!
Iets als:
Blanche schreef op 14.06.2009 19:49:
Je zult je tabel op moeten bouwen in de while loop waarin je de gegevens uit de database fetched. Je zult met een tellertje bij moeten houden hoeveel cellen je gevuld hebt, en na 3 cellen zul je naar de volgende rij moeten gaan.
Iets als:
Iets als:
Thanks man ziet er goed uit ik ga het morgen meteen proberen laat het weten of het gelukt is :)