Enum veld +1 ?
ik zit met het maken van mijn site met een probleem:
Ik wil dus als ze bij VELDA 100 hebben dat +Veld B geupdate word en VELDA terug op 0 gezetword.
dit is niet zo moeilijk, maar nu zou ik allemaal verschillende namen moeten hebben in veldB
dus mijn vraag is: Hoe kan ik het bij een enum veld doen dat hij update naar de volgende keuze?
Of moet ik in veldB nummerwaarde zetten van 1-10 en deze in het script aanpassen :
Nu heb ik wat gezocht en mij lijkt het beste dat ik gewoon en waardevan 1-10 in d databse zet en in het script de waardes ophaal
**BUMP**
Ik heb je post intussen al een aantal keer gelezen, maar snap echt niet wat je bedoelt Niels.
er zijn verschillende 'posts'
nu wil ik dat waneer ik 100 post heb dat mijn rank newbie is, en dat mijn post weer op 0 gezet word.
Waneer ik weer 100 post heb dat mijn rank Poster word.
en zo verder.
enum('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50')
etc. ?
en dan bij de 100 weer op 0 zetten en 1 rang verhogen? Dat zul je in PHP moeten gaan doen(behalve als je geen MySQL gebruikt Ö)
Bijv.:
/* selecteer de data uit de database en zet dat in $user */
if($user['posts'] == 99 AND $user['rank'] != 'hoogste_rang')
mysql_query("UPDATE users SET posts='1',rank=rank+1 WHERE id=".$user['id']." LIMIT 1");
else
mysql_query("UPDATE users SET posts=posts+1 WHERE id=".$user['id']." LIMIT 1");
Edit:
Let op dat je bij posts='1' de '-tekens niet weghaalt, anders gaat het fout(dankzij enum).
Gewijzigd op 01/01/1970 01:00:00 door Zero Dead
enum('Loser', 'New', 'Freak', 'Pimp', 'etc..')
En deze zou steeds 1 rank hoger moeten niet de post. (dat waas maar een voorbeeld.
maar mijn vraag is nu of het mogelijk is om met een enum veld genaamd rank te doen
Rank=rank+1
valt dit nu te begrijpen.?
SELECT naam
CASE
WHEN COUNT(posts) BETWEEN 0 AND 100 THEN 'newbie'
WHEN COUNT(posts) BETWEEN 100 AND 200 THEN 'gevorderd'
WHEN COUNT(posts) BETWEEN 200 AND 300 THEN 'expert'
END
AS status
FROM leden
GROUP BY naam
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
Dit ga ik noteren, zeer handig om te weten :)
Ga zo door Jan, ik leer er iig een hoop van om alleen jou posts maar te bekijken :)
Mvg,
Erik
@ Erik: klopt, MySQL kan je aardig wat werk uit handen nemen. En thanks :-)
dus dan moet ikwat maken waneer het boven de 100 % is dat ik er 100 aftrek.
Bedankt Jan
het veld punten moet je een INT voor gebruiken.. en dan kan je wel de oplossing van jan gebruiken.
wat je ook kan doen is 2 veldne maken:
PROCENT (INT) en RANK(INT)
als je 100% hebt, moet je rank+1 doen..
hoe je dit in MySQL doet, weet ik niet.. dus misschien reageerd er iemand die er wat meer verstand van heeft.. maar als je een php oplossing wilt, moet je het maar laten weten;)
deze is met een switch en dan
case 1:
$rank = 'New'
enz..