Gå til innhold

[LØST] Spørsmål vedrørende PHP - database.


Anbefalte innlegg

Hei, jeg lurte på om du/dere kunne hjulpet meg med en ting i PHP.

 

Jeg har en database der jeg har en kolonne som heter rankpoeng, også er det slik at f.eks på 200 rankpoeng så har du fått en rank som heter "Selger".

 

Det jeg lurer på er hvordan jeg kan vise ranknavnet til brukeren på profilen når det bare er en kolonne som heter rankpoeng der det bare er tall?

 

Setter veldig pris på svar, takk.

 

Mvh Sjuriss

Endret av Sjuriss
Lenke til kommentar
Videoannonse
Annonse

Nå vet ikke jeg hvordan du har bygd opp ranksystemet ditt, men du får bare tilpasse koden..

Så lenge du bare nevnte rank 200, så tok jeg utgangspunkt i at du får en ny rank pr. 200 poeng.

 

<?php

// sett at $rank inneholder rankpoeng fra databasen
$rank = $database['rankpoeng'];

$ranks = array(0 => "Rank 0-199", 200 => "Rank 200-399", 400 => "Rank 400-599", 600 => "Rank 600-799"); // osv..

for($i = 0; $i < sizeof($ranks); $i++) {
 $rank_fom = $i * 200;
 $rank_tom = $rank_fom + 200;
 if($rank >= $rank_fom && $rank < $rank_tom) {
	 print "Din rank er: ".$ranks[$rank_fom];
 }
}

?>

Endret av YaNkEs
Lenke til kommentar

Takk for svar, jeg vet ikke helt hvordan jeg skal gjøre slik at den passer for meg.

 

Her er rank tabellen min:

Rank1 [Rankpoeng: 1-99]

Rank2 [Rankpoeng: 100-199]

Rank3 [Rankpoeng: 200-499]

Rank4 [Rankpoeng: 500-999]

Rank5 [Rankpoeng: 1000-1499]

Rank6 [Rankpoeng: 1500-1799]

Rank7 [Rankpoeng: 1800-2799]

Rank8 [Rankpoeng: 2800-3999]

Rank9 [Rankpoeng: 4000-5499]

Rank10 [Rankpoeng: 5500-7499]

Rank1 [Rankpoeng: 10000-10000]

Lenke til kommentar

Det blir feil TheClown, med tanke på utregningene jeg brukte..

 

Sjuriss; bruk denne koden og bytt ut der det står Rank x-x med navnet ranken skal ha, f.eks. "Selger" som du skrev i første innlegget.

 

<?php

 // sett at $rank inneholder rankpoeng fra databasen
 $rank = $database['rankpoeng'];

 $ranks = array(
	 1 => array("fra" => 1, "rank" => "Rank 1-99"),
	 2 => array("fra" => 100, "rank" => "Rank 100-199"),
	 3 => array("fra" => 200, "rank" => "Rank 200-499"),
	 4 => array("fra" => 500, "rank" => "Rank 500-999"),
	 5 => array("fra" => 1000, "rank" => "Rank 1000-1499"),
	 6 => array("fra" => 1500, "rank" => "Rank 1500-1799"),
	 7 => array("fra" => 1800, "rank" => "Rank 1800-2799"),
	 8 => array("fra" => 2800, "rank" => "Rank 2800-3999"),
	 9 => array("fra" => 4000, "rank" => "Rank 4000-5499"),
	 10 => array("fra" => 5500, "rank" => "Rank 5500-7499"),
	 11 => array("fra" => 7500, "rank" => "Rank 7500-10000"),
	 12 => array("fra" => 10001) // Dette array'et er bare for at array 11 skal ha noe å regne ut ifra (den skal inneholde høyeste mulige rank + 1, altså her; 10001)
 );

 for($i = 1; $i < sizeof($ranks); $i++) {
	 $fom = $i;
	 $tom = $fom + 1;
	 if($rank >= $ranks[$fom]["fra"] && $rank < $ranks[$tom]["fra"]) {
		 print "Din rank er: ".$ranks[$fom]["rank"];
	 }
 }

 ?>

 

Det her burde funke bra, du må bare sørge for at ingen noen gang får rankpoeng 0 eller over 10000 (med mindre du endrer på koden da selvfølgelig), hvis rankpoengene holder seg f.o.m. 1 t.o.m. 10000, så vil det funke helt fint.

 

EDIT: en liten forklaring; denne koden kan du tilpasse hvilket som helst ranksystem. Array'et "fra" er det tallet ranken starter på og array'et "fra" I neste array er der neste rank starter. Det vil si at f.eks. rank nr. 8 er fra $ranks[8]["fra"] (her: 2800) til

$ranks[9]["fra"] - 1 (her: 3999). Så her kan du endre på tallene så mye du vil uten at det går utover koden.

Endret av YaNkEs
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...