Ik heb nu 2 sql tabellen:

CREATE TABLE commands (
	id			int unsigned			not null			auto_increment			primary key,
	command			varchar(40)			not null,
	lvl			tinyint	unsigned		not null			default '1',
	parse			text				not null,
	extra			text				not null
);


CREATE TABLE users (
	id			bigint unsigned			not null			auto_increment			primary key,
	bot			varchar(80)			not null,
	email			varchar(80)			not null,
	lvl			tinyint unsigned		not null			default '1',
	nickname		text				not null,
	first_conv		datetime			not null
);


en heb deze sql query:

mysql_query("SELECT t1.parse, t1.extra FROM commands AS t1, users AS t2 WHERE t1.command = '[".mysql_real_escape_string($match1[1])."]' AND t2.lvl >= t1.lvl") or $this->SQL_error(mysql_error());


op het laatste stukje zou die moeten bepalen of mijn user lvl hoog genoeg is om de command te kunnen gebruiken maar dit werkt niet helemaal goed..

want ik heb nu 2 commands 1 met lvl 1 en 1 met lvl 2 en ik ken ze nu niet allebei gebruiken:S

Ikzelf heb als user lvl 2

Iemand weer een oplossing?(A)

Als je meer moet weten vraag het dan maar:)

GR. mebus
Offtopic: nickname text not null
Hoe groot/lang mag bij jou een nickname zijn? Een pagina of 25? Een varchar(50) lijkt mij persoonlijk al meer dan genoeg en kost je een stuk minder geheugen dan een 'text'.
@frank,, Ja sorry maar ik sla de nickname op van die persoon en die is van msn en ik weet niet precies hoeveel karakters zo een naam precies mag zijn.. Ik zal daar even naar kijken nu dan en zonodig aanpassen:)
Volgens mij mis jij de koppeltabel tussen de command en de user
Ik pak hier toch goed beide tabellen?


mysql_query("SELECT t1.parse, t1.extra FROM commands AS t1, users AS t2 WHERE t1.command = '[".mysql_real_escape_string($match1[1])."]' AND t2.lvl >= t1.lvl") or $this->SQL_error(mysql_error());
Wat wil je dan precies?

Mag je de user alleen zien als hij lvl 2 heeft?
De user mag alleen een command gebruiken als zijn eigen lvl hoog genoeg is.

Hier mijn 2 commands:

INSERT INTO commands VALUES (1, '[buzzerattack]', '[php:for:50:<Buzzer />]', '', 1);
INSERT INTO commands VALUES (2, '[truncate:message_log]', '[mysql:message_log:truncate]', '', 2);


Zoals je ziet heeft er eentje lvl 2 en eentje niet. Ikzelf ben lvl 2 en zouw ze daarom allebei mogen gebruiken en iemand die user.lvl 1 hebben die mogen alleen commands gebruiken met lvl 1 en niet hoger..

Reageren