Top Tags
ja ik plaats snel 2 vragen achter elkaar sorry daarvoor maar ik ben ook bezig geweest aan 'n tag systeem.
En hij blijft het niet goed doen.
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
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
--
-- Tabel structuur voor tabel `tags`
--
CREATE TABLE `tags` (
`id` int(255) NOT NULL auto_increment,
`tag` varchar(255) collate latin1_general_ci NOT NULL default '',
`aantal` int(255) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=26 ;
--
-- Gegevens worden uitgevoerd voor tabel `tags`
--
INSERT INTO `tags` (`id`, `tag`, `aantal`) VALUES
(11, 'rofl', 0),
(12, 'rofl', 0),
(13, 'rofl', 0),
(14, 'drum', 0),
(15, 'drum', 0),
(4, 'henk', 2),
(5, 'henk', 3),
(6, 'wmcity', 21),
(7, 'rofl', 1),
(8, 'rofl', 3),
(9, 'rofl', 6),
(10, 'toffolo', 634),
(16, 'rofl', 0),
(17, 'rofl', 0),
(18, 'rofl', 0),
(19, 'rofl', 0),
(20, 'rofl', 0),
(21, 'rofl', 0),
(22, 'rofl', 0),
(23, 'rofl', 0),
(24, 'rofl', 0),
(25, 'rofl', 0);
-- Tabel structuur voor tabel `tags`
--
CREATE TABLE `tags` (
`id` int(255) NOT NULL auto_increment,
`tag` varchar(255) collate latin1_general_ci NOT NULL default '',
`aantal` int(255) NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=26 ;
--
-- Gegevens worden uitgevoerd voor tabel `tags`
--
INSERT INTO `tags` (`id`, `tag`, `aantal`) VALUES
(11, 'rofl', 0),
(12, 'rofl', 0),
(13, 'rofl', 0),
(14, 'drum', 0),
(15, 'drum', 0),
(4, 'henk', 2),
(5, 'henk', 3),
(6, 'wmcity', 21),
(7, 'rofl', 1),
(8, 'rofl', 3),
(9, 'rofl', 6),
(10, 'toffolo', 634),
(16, 'rofl', 0),
(17, 'rofl', 0),
(18, 'rofl', 0),
(19, 'rofl', 0),
(20, 'rofl', 0),
(21, 'rofl', 0),
(22, 'rofl', 0),
(23, 'rofl', 0),
(24, 'rofl', 0),
(25, 'rofl', 0);
Dit is me tabel
Bestand toptags.php:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include('config.php');
$tags = mysql_query('SELECT * FROM ((SELECT tag, count(*) AS aantal FROM tags GROUP BY tag) ORDER BY aantal DESC LIMIT 4) a ORDER BY RAND()');
$totaal = mysql_query('SELECT count(*) AS aantal FROM tags');
$totaal = $totaal[0];
while($eentag = mysql_fetch_array($tags)) {
$populair = $eentag['aantal'] / $totaal;
if($populair > 0.9) {
echo "<font size=9>" . $eentag['tag'] . "</font> ";
} else if($populair > 0.5) {
echo "<font size=7>" . $eentag['tag'] . "</font> ";
} else {
echo "<font size=5>" . $eentag['tag'] . "</font> ";
}
}
?>
include('config.php');
$tags = mysql_query('SELECT * FROM ((SELECT tag, count(*) AS aantal FROM tags GROUP BY tag) ORDER BY aantal DESC LIMIT 4) a ORDER BY RAND()');
$totaal = mysql_query('SELECT count(*) AS aantal FROM tags');
$totaal = $totaal[0];
while($eentag = mysql_fetch_array($tags)) {
$populair = $eentag['aantal'] / $totaal;
if($populair > 0.9) {
echo "<font size=9>" . $eentag['tag'] . "</font> ";
} else if($populair > 0.5) {
echo "<font size=7>" . $eentag['tag'] . "</font> ";
} else {
echo "<font size=5>" . $eentag['tag'] . "</font> ";
}
}
?>
Die geeft deze error
Warning: Division by zero in /storage/mijndomein/users/099539/public/sites/www.**.dj-visto.eu/toptags.php on line 9
rofl
Warning: Division by zero in /storage/mijndomein/users/099539/public/sites/www.***.dj-visto.eu/toptags.php on line 9
:O
Warning: Division by zero in /storage/mijndomein/users/099539/public/sites/www.***.dj-visto.eu/toptags.php on line 9
drum
Warning: Division by zero in /storage/mijndomein/users/099539/public/sites/www.**.dj-visto.eu/toptags.php on line 9
henk
HIj geeft deze error en niet een rij met tags waar de hoogste uit worden gehaalt,
Maar alleen een random, die wordt weergeven.
Iemand die oplossing?
Alvast bedankt
Groetjes,
Vincent
Je kunt niet delen door nul, probeer maar eens 0 / 1 te doen met je rekenmachine.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
...
$totaal = mysql_query('SELECT count(*) AS aantal FROM tags');
$total = mysql_fetch_array($totaal);
$totaal = $total[0];
...
while($totaal > 0 && $eentag = mysql_fetch_array($tags))
...
?>
...
$totaal = mysql_query('SELECT count(*) AS aantal FROM tags');
$total = mysql_fetch_array($totaal);
$totaal = $total[0];
...
while($totaal > 0 && $eentag = mysql_fetch_array($tags))
...
?>
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
Code (php)
Zou dit niet de oplossing zijn?
Het kan zijn dat ik krom kijk, maar waar fetch jij je $totaal? Volgens mij deel je een getal door iets wat geen getal is....
Emmanuel Delay schreef op 22.08.2008 19:35:
Dus ja, dan kan je misschie zo-iets doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
...
$totaal = mysql_query('SELECT count(*) AS aantal FROM tags');
$total = mysql_fetch_array($totaal);
$totaal = $total[0];
...
while($totaal > 0 && $eentag = mysql_fetch_array($tags))
...
?>
...
$totaal = mysql_query('SELECT count(*) AS aantal FROM tags');
$total = mysql_fetch_array($totaal);
$totaal = $total[0];
...
while($totaal > 0 && $eentag = mysql_fetch_array($tags))
...
?>
Deze werkt :D Dank je wel de error is weg ff kyken of de rest ook goed doet
--Dank je wel het werkt perfect!--
Gewijzigd op 01/01/1970 01:00:00 door Vincent
Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Vincent