04. september 2003 - 12:13Der er
22 kommentarer og 1 løsning
Svære Queries
Jeg er lidt en nød til MySQL og har brug for hjælp til to ting!
Jeg har en clan hjemmeside, hvor folk tilmelder sig kampe, og jeg vil så gerne have vist de kampe som folk har tilmeldt sig i den rækkefølge de skal spilles!
Kampene ligger i en tabel, tilmeldingerne i en anden!
Tabelerne ser ud som følger:
CREATE TABLE Matches ( MatchID int(10) NOT NULL auto_increment, KlanID int(10) NOT NULL default '0', DateTime datetime NOT NULL default '0000-00-00 00:00:00', Hold int(10) NOT NULL default '0', KampType int(3) NOT NULL default '0', AntalSpillere int(2) NOT NULL default '0', Map1 varchar(250) NOT NULL default '', Map2 varchar(250) NOT NULL default '', SpilType int(3) NOT NULL default '0', Server varchar(255) NOT NULL default '', Password varchar(255) NOT NULL default '', Kommentarer text NOT NULL, ReminderSent int(1) NOT NULL default '0', PRIMARY KEY (MatchID) ) TYPE=MyISAM COMMENT='Kampe';
CREATE TABLE KampTilmelding ( ID int(10) NOT NULL auto_increment, MatchID int(10) NOT NULL default '0', UserID int(10) NOT NULL default '0', Status int(1) NOT NULL default '0', DateTime datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (ID) ) TYPE=MyISAM COMMENT='Tilmeldinger til kampe';
Det jeg skal have gjort er at udvælge de steder hvor spiller '$UserID' har Status 2 (Tilmeldt) i KampTilmelding, og sorteret de kampe efter DateTime i tabelen Matches...
1. HovedEmner 2. Tråde i emnerne 3. Indlæg i trådene
Det jeg gerne vil er at udvælge det nyeste indlæg inden for hvert emne!
Tabelerne ser ud som følger:
CREATE TABLE ForumEmner ( EmneID int(5) NOT NULL auto_increment, EmneNavn varchar(250) NOT NULL default '', EmneBeskrivelse text NOT NULL, Billede varchar(250) NOT NULL default '', Flag int(2) NOT NULL default '0', PRIMARY KEY (EmneID) ) TYPE=MyISAM COMMENT='HovedEmner i forummet';
CREATE TABLE ForumTråde ( TrådID int(9) NOT NULL auto_increment, EmneID int(9) NOT NULL default '0', Overskrift varchar(250) NOT NULL default '', Indhold text NOT NULL, Skribent varchar(250) NOT NULL default '', Medlem int(1) NOT NULL default '0', DateTime datetime NOT NULL default '0000-00-00 00:00:00', IP varchar(250) NOT NULL default '', PRIMARY KEY (TrådID) ) TYPE=MyISAM COMMENT='Tråde i forummet';
CREATE TABLE ForumIndlæg ( IndlægID int(9) NOT NULL auto_increment, TrådID int(9) NOT NULL default '0', Overskrift varchar(250) NOT NULL default '', Indhold text NOT NULL, Skribent varchar(250) NOT NULL default '', Medlem int(1) NOT NULL default '0', DateTime datetime NOT NULL default '0000-00-00 00:00:00', IP varchar(250) NOT NULL default '', PRIMARY KEY (IndlægID) ) TYPE=MyISAM COMMENT='Forum Indlæg';
Point bliver sat op til 200 for besvarelse på begge spørgsmål
Har rettet Kamptilmelding til KampTilmelding, men det hjælper heller ikke...
Den ser således ud nu:
$TilmeldtMatchesQuery = mysql_query("select * from Matches where Matches.MatchID = KampTilmelding.MatchID AND KampTilmelding.Status = '2' order by DateTime ASC");
ja jeg kan heller ikke få select * from Matches where Matches.MatchID = KampTilmelding.MatchID AND KampTilmelding.Status = '2' order by DateTime ASC");
til at virke ..
men det her virker
select Matches.MatchID, Matches.Server from Matches,KampTilmelding where Matches.MatchID = KampTilmelding.MatchID AND KampTilmelding.Status = '2' order by Matches.DateTime ASC;
select Matches.* from Matches,KampTilmelding where Matches.MatchID = KampTilmelding.MatchID AND KampTilmelding.Status = '2' order by Matches.DateTime ASC;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.