Gemiddelde van getal [Opgelost]

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yorick17

yorick17

29/06/2009 16:41:00
Quote Anchor link
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?
Gewijzigd op 01/01/1970 01:00:00 door Yorick17
 
PHP hulp

PHP hulp

14/04/2024 07:42:49
 
Han eev

Han eev

29/06/2009 16:48:00
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?PHP

$level
= 0;
$tot = 50;
$getal = 17;

for($i = 0;$i<=$tot;$i+=10) {
     if($getal <= $i && $getal > ($i-10)) {
        echo $level;
        break;
    }

    $level++;
}

?>

Zoiets, net getypt
Gewijzigd op 01/01/1970 01:00:00 door Han eev
 
Yorick17

yorick17

29/06/2009 16:50:00
Quote Anchor link
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
 
Nicoow Unknown

Nicoow Unknown

29/06/2009 18:36:00
Quote Anchor link
werkt zoiets niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
INSERT INTO weetikveel (id, tagId)
VALUES ('"$id"', (SELECT id
FROM tags
WHERE min < '". $value ."'
AND max > '". value . "' LIMIT 0,1))


Dit is niet getest
 
Noppes

Noppes

29/06/2009 19:56:00
Quote Anchor link
Nee want het is dan

INSERT INTO <tabel>
(veld1,veld2,veld3)
SELECT waardeveld1
, waardeveld2
, waardeveld3
FROM <tabel>
WHERE ..........
 
Nicoow Unknown

Nicoow Unknown

29/06/2009 21:29:00
Quote Anchor link
wat bedoel je daarmee?
 
Yorick17

yorick17

30/06/2009 07:42:00
Quote Anchor link
en waar komt die insert vandaan?
 
Jacco Engel

Jacco Engel

30/06/2009 08:47:00
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$getal
= 17
$key
= (ceil($getal / 10)) ;
$key = ($key == 0) ? 1 : $key ;
echo $key /*in dit geval 2*/
?>


Dan ben je er toch al of denk ik nu te makkelijk?
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
Nicoow Unknown

Nicoow Unknown

30/06/2009 10:53:00
Quote Anchor link
Overigens werkt mij code wel.
Alleen moet kleiner dan <= worden
 
Yorick17

yorick17

30/06/2009 16:46:00
Quote Anchor link
Ik heb het opgelost op de volgende manier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>

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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.