Om de 30 een ID

  • Hey,


    Ik ben bezig met een soort statussysteem. Het ziet er zo uit:


    PHP
    function Level($insert){
    	
    	if($insert < 7){
    		$levelID = 0;
    	} elseif($insert < 17){
    		$levelID = 1;
    	} elseif($insert < 27){
    		$levelID = 2;


    Het heeft geen zin om 100 regels te schrijven van dat. Heeft iemand een idee hoe het in 1x kan?



    Heel erg bedankt!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Ik snap de bedoeling niet helemaal, dus als ze bijvoorbeeld level 30 hebben krijgen ze id 1, als ze level 60 hebben id 2?

    This is ten percent luck, twenty percent skill
    Fifteen percent concentrated power of will
    Five percent pleasure, fifty percent pain
    And a hundred percent reason to remember the name!

  • Citaat van iSilverStar

    Frank, tnx. Maar het gaat niet lukken. Er moet ook nog te zien zijn hoeveel procent je nog tot de volgende moet.


    ...


    PHP
    $level = Level($iets);
    
    
    echo 'Je moet nog ' . (100 - ($iets / (($level + 1) * 30))) . '% tot het volgende level.';


    Niet zomaar met goede oplossingen afwijzen met nieuwe voorwaarden, je hoort die meteen al te geven. Spendeer iets meer moeite aan je probleem uitleggen en verwachtingen duidelijk te maken.

  • @Darr, dats niet waar. Ik heb ook wat geprobeerd. Maar ik kwam er niet uit;
    Beetje verkeerd gelezen. Ik dacht als ik de basis onder de knie kryg dan kan ik de rest zelf maken.

    PHP
    function procentLevel($insert){
    	$output = round(100 -(($insert/6) / 200), 0);
    	
    	return $output;
    }


    Ik dacht ik ga morgen echt goed kyken hoe het kan omdat ik nu byna in slaapval en even mn huiswerk maak

  • Met dit systeem moet het werken:



    De procent vordering kan je hier denk ik zelf wel bij maken. Daarnaast kan je de tekst waardes uiteraard ook in die numerieke level waardes van je aanpassen.


    Succes!


    Edit: er zat een klein bugje in plus een typfoutje. Nu moet het volledig werken.

  • Waar zo moeilijk?


    Maak 2 colommen aan?
    Level
    Levelp


    En dan op de pagina zetten:


    PHP
    mysql_query("UPDATE TABEL  SET `level`=`level`+1 WHERE levelp>='100' WHERE `username`='$user->name' LIMIT 1");
    mysql_query("UPDATE TABEL  SET `level`=`levelp`-100 WHERE levelp>='100' WHERE `username`='$user>name' LIMIT 1");


    Zoiets ?
    Kan wel foutje in zitten heb snel snel gedaan?
    Maar dits handiger?

  • thexerox, wat bedoel je? Hy haalt de gegevens ook uit te database.
    @Larz, het heeft geen zin om 1 tot 100 erbij te zetten he. Of?
    iMootje, want, dan moet ik voor elke level weer + zoveel doen. Dan ben ik 50 regels verder.


    Wat doe ik fout; hij gaat tot 6 goed, daarna laat die nog 200+ zien

    PHP
    function procentLevel($insert){
        $output = round( (($insert/6) / 100), 0);
        
        return $output;
    }
  • Je kan toch i.p.v die text rangen die ik heb gebruikt die ints erbij zetten?
    Of gebruik je echt puur de cijfers 1-100 en wil je bij elke increment dat cijfer plus 1?


    Want bij welke increment wil je dat en van welke tot welke gaat dat systeem?


    Als je een beetje wiskunde en economie gehad hebt dan moet je die volgens mij zo kunnen maken.


    Edit:


    Doet dat misschien wat je wil?


    Preview kan je zien op https://rapifia.nl/calc_rang.php?rang=8 (acht vervangen met de input waarde).

  • Als je geen 100 regels met if statements wilt maken gooi het dan in een loop en begin bij 7 en tel telkens verder en doe een auto increment op op de ID's ?


    Dus als de waarde overeenkomt i++; of zoiets. Denk dat dat jou probleem wel oplost.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!