ik moet een script maken waarin ik dingen moet vergelijken en aan de hand daarvan een score moet geven.
Een voorbeeld:
Mijn keuze: 10
Waarde in database: 25
Als de waarde in de database 10 was geweest, dan kreeg dit onderdeel een score van 100 (100%) omdat het 1:1 het zelfde is.
in bovenstaand geval zoek ik iets van 10, en in de database is het 25. Dit houd in dat er een verschil van 15 is.
Dit "verschil" moet ik dus verwerken in de score.
Zo moet ik diverse elementen kunnen beoordelen en in één variabele ($totale_score) moet ik dan een eindscore krijgen van 0 (nul) tot en met honderd (100) waarbij natuurlijk 100 de hoogst haalbare score is.
Zou iemand mij kunnen vertellen hoe ik dit kan realiseren? ik ben namelijk niet erg goed in rekenen en zou ook niet echt weten hoe ik dit in een functie kan verwerken.
Oke even een ander voorbeeld dan (stom voorbeeld met gekke getallen maar goed).
Ik zoek een huis met een oppervlakte van 30 vierkante meter.
In de zoekresultaten komt één huis naar voren, deze heeft een oppervlakte van 45 vierkante meter.
Dit scheelt 15 vierkante meter. De score is dus geen 100 want er is een verschil. Ik wil nu de score weergeven van laten we zeggen bijvoorbeeld 7,5 uit de 100 punten.
Echter, wanneer ik zou invullen dat ik een huis van 1000 vierkante meter wil, dan is dit veel groter dan het huis wat beschikbaar is (bovenstaand) van 45 vierkante meter. Ook nu geld weet het zelfde, dat er een verschil is en ik dus geen 100 punten kan halen. In dit geval zou ik heel weinig punten halen omdat het verschil groot is maar goed...
Je snap het idee wel
EDIT: In mijn voorbeeld wat ik zelf test op mijn site is het dit:
Ik wil: 30 vierkante meter
Er is: 32 vierkante meter
maar rest mij wel de vraag (ik zal wel dom aan het doen zijn):
Als jou functie klopt... waarom geeft hij mij dan de waarde -3000 ?
Want het verschil (integer of procenten) tussen 30 en 32 is geen -3000 (of 3000 als ik de variable omdraai in de check)
potverdommen, het is ook al laat he
Ik zal er eens mee gaan spelen. hartstikken bedankt voor zover!!!
Hopelijk morgen een reactie voor oplossing wanneer ik iets hoger in geef want dat loopt nu in de soep haha, maar dit werkt alvast en daar ben ik al heel erg blij mee ;)
Ik ga het morgen eens uitproberen haha, ik ben niet zo goed met short-tags omdat ik dat nooit gebruik (mij altijd verteld dat dit niet zo goed is???? cross-browser of zo?) maar super bedankt zo ver vinTage echt super!
php is clientside, dus crossbrowser (browser == clientside) is een vaag/niet geldig argument
Je bedoeld een verkorte if/else (want <?= dit is een short tag), maar die werken perfect hoor, alleen laat de leesbaarheid voor 'beginners' af en toe te wensen over.
//hiermee werken we
$a = 'a';
$b = 'b';
//manier een
if($a == $b)
{
echo $a.' is hetzelfde als '.$b;
}
else
{
echo $a.' is niet hetzelfde als '.$b;
}
//versus
echo $a == $b ? $a.' is hetzelfde als '.$b : $a.' is niet hetzelfde als '.$b;
$zus = false;
echo if($zus) ? "zus" : "zo" //$zus is false, dus echo'd 'zo'
$zus=false;
echoif($zus) ? "zus":"zo"//$zus is false, dus echo'd 'zo'
anyway, ontopic
Bij mijn vb klopt die 100 - berekenScore(...) niet, die 100 is niet effectief 100, je moet daar nog 'iets' mee doen, maar WAT dat 'iets' is, is me nu nog onbekend, ik ZUIG in Math!!
Dankjewel voor je duidelijk uitleg vintage, hier kan ik zeker mee aan de slag haha
Ik ga jou formule gebruiken en nog even kijken naar de "perfecte" oplossing. Ik kan ook weinig tot niks van Math lol
Dankjewel voor zover je hebt me echt ontzettend op weg geholpen ;)