Gemiddelde van getal [Opgelost]
Hallo iedereen,
Ik heb een getal en dat moet worden gekoppeld aan een tag.
de tags staan in de database samen met de min en max, maar nu is het probleem dat het getal een tag moet krijgen tussen een min en een max uit de database.
Voorbeeld:
een,min=0,max=10
twee,min=10,max=20
drie,min=20,max=30
vier,min=30,max=40
vijf,min=40,max=50
als ik dus nummer 17 heb den moet er uit komen: twee. Hoe doe ik dat?
Ik heb een getal en dat moet worden gekoppeld aan een tag.
de tags staan in de database samen met de min en max, maar nu is het probleem dat het getal een tag moet krijgen tussen een min en een max uit de database.
Voorbeeld:
een,min=0,max=10
twee,min=10,max=20
drie,min=20,max=30
vier,min=30,max=40
vijf,min=40,max=50
als ik dus nummer 17 heb den moet er uit komen: twee. Hoe doe ik dat?
Gewijzigd op 01/01/1970 01:00:00 door Yorick17
Als je het met SQL doet kan je BETWEEN gebruiken.
WHERE getal BETWEEN min AND max
(in een tabel met level;min;max)
1;0;10
2;10;20 enz..
OF
PHP
Zoiets, net getypt
WHERE getal BETWEEN min AND max
(in een tabel met level;min;max)
1;0;10
2;10;20 enz..
OF
PHP
Code (php)
Zoiets, net getypt
Gewijzigd op 01/01/1970 01:00:00 door Han eev
bedankt maar hier was ik zelf ook wel opgekomen maar wat je zegt het moet uit de db komen dus betweem is denk wel handig
werkt zoiets niet:
Dit is niet getest
Code (php)
1
2
3
4
5
2
3
4
5
INSERT INTO weetikveel (id, tagId)
VALUES ('"$id"', (SELECT id
FROM tags
WHERE min < '". $value ."'
AND max > '". value . "' LIMIT 0,1))
VALUES ('"$id"', (SELECT id
FROM tags
WHERE min < '". $value ."'
AND max > '". value . "' LIMIT 0,1))
Dit is niet getest
Nee want het is dan
INSERT INTO <tabel>
(veld1,veld2,veld3)
SELECT waardeveld1
, waardeveld2
, waardeveld3
FROM <tabel>
WHERE ..........
INSERT INTO <tabel>
(veld1,veld2,veld3)
SELECT waardeveld1
, waardeveld2
, waardeveld3
FROM <tabel>
WHERE ..........
wat bedoel je daarmee?
en waar komt die insert vandaan?
Kan aan mij liggen maar doe je niet te moeilijk met SQL enzo?
0 - 10 = 1
11 - 20 = 2
21 - 30 = 3
enz...
Dus als je gewoon
Dan ben je er toch al of denk ik nu te makkelijk?
0 - 10 = 1
11 - 20 = 2
21 - 30 = 3
enz...
Dus als je gewoon
Code (php)
Dan ben je er toch al of denk ik nu te makkelijk?
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
Overigens werkt mij code wel.
Alleen moet kleiner dan <= worden
Alleen moet kleiner dan <= worden
Ik heb het opgelost op de volgende manier:
Het ging in dit geval dus om ranken. de "AND id=" is de laatste selectie van de huidige gebruiker
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
mysql_select_db($database, $connection);
$query_rs_rank = sprintf("
SELECT a.rank, d.bank + d.cash as saldo
FROM tb_user001 d,
(select w.rank, w.min, w.max
FROM tb_rank_money w)a
WHERE d.bank+d.cash between a.min
AND a.max
AND id=%s", GetSQLValueString($row_rs_user['id'], "int"));
$rs_rank = mysql_query($query_rs_rank, $connection) or die(mysql_error());
$row_rs_rank = mysql_fetch_assoc($rs_rank);
$totalRows_rs_rank = mysql_num_rows($rs_rank);
?>
mysql_select_db($database, $connection);
$query_rs_rank = sprintf("
SELECT a.rank, d.bank + d.cash as saldo
FROM tb_user001 d,
(select w.rank, w.min, w.max
FROM tb_rank_money w)a
WHERE d.bank+d.cash between a.min
AND a.max
AND id=%s", GetSQLValueString($row_rs_user['id'], "int"));
$rs_rank = mysql_query($query_rs_rank, $connection) or die(mysql_error());
$row_rs_rank = mysql_fetch_assoc($rs_rank);
$totalRows_rs_rank = mysql_num_rows($rs_rank);
?>
Het ging in dit geval dus om ranken. de "AND id=" is de laatste selectie van de huidige gebruiker
Gewijzigd op 01/01/1970 01:00:00 door yorick17




