Avatar billede macho Praktikant
02. maj 2005 - 19:24 Der er 9 kommentarer og
1 løsning

Hjælp til resultatliste

Hejsa,

jeg sidder med en voldsom opgave, som jeg ikke selv kan klare, derfor prøver jeg herinde!

Indledning:
Jeg har fået til opgave, at lave en resultatliste til et motionsløb, hvor deltagere bliver oprettet i en MySql-tabel. Jeg har fået lavet en resultatliste i php, hvilket jeg har gjort på følgende måde:

********

<?php
$db = mysql_connect("mysql.navn.dk", "brugernavn", "password");
mysql_select_db("database",$db);
$result = mysql_query("SELECT * FROM tabel WHERE gruppe='M' AND sluttid<>'00:00:00' ORDER BY sluttid ASC",$db);
echo "<table cellpadding=3 cellspacing=0 border=0 width='75%'><tr style='font-family:Arial; font-size:10pt;'>
<td align=center width='8%'><b><u>Placering</u></b></td><td align=center width='8%'><b><u>Startnr.</u></b></td><td width='25%'><b><u>Efternavn</u></b></td><td width='25%'><b><u>Fornavn</u></b></td><td width='25%'><b><u>Firma/klub</u></b></td><td align=center width='9%'><b><u>Tíd</u></b></td></tr>";
$alternate = "2";
for ($i=1; $myrow = mysql_fetch_row($result); $i++) {
$field1 = $myrow["1"];
$field2 = $myrow["4"];
$field3 = $myrow["3"];
$field4 = $myrow["7"];
$field5 = $myrow["2"];

if ($alternate == "1") {
$color = "#ffffff";
$alternate = "2";
}
else {
$color = "#eaeaea";
$alternate = "1";
}
echo "<tr bgcolor=$color style='font-family:Arial; font-size:10pt;'><td align=center><b>$i</b></td><td align=center>$field1</td><td>$field2</td><td>$field3</td><td>$field4</td><td align=center>$field5</td></tr>";
}
echo "</table>";
?>

********

Om ovennævnte er særlig smart lavet, ved jeg ikke; det kan sikkert gøres anderledes, men hovedsagen er, at det virker!

Opgave:
Jeg skal ha' lavet yderligere én resultatliste, som viser et klub-resultat. Dette skal vises på følgende måde:

Kun de tre første på et hold tæller (på et hold skal der være mindst 3 løbere og højst 5). Hold på under tre løbere skal ikke vises. Alle hold med mindst tre løbere skal vises, men kun de tre hurtigste skal figurere på listen. Grupperne er opdelt i mænd og kvinder (alle). Hurtigste vinder holdkonkurrencen.

For at lette forståelsen til hold-resultatlisten, har jeg lavet et lille screen-dump af listen, som den *KAN* se ud:
http://www.boulstrup.net/exp/holdkonkurrence.jpg

Mon det er en for overskuelig opgave, eller er der mon én, som har mod på, at kaste sig ud i et forsøg?

mvh
Avatar billede dcheng Novice
02. maj 2005 - 20:51 #1
Kan du ikke lige poste mysql tabellen..
Avatar billede macho Praktikant
02. maj 2005 - 21:07 #2
Jo, det kan jeg da. Den ser således ud:

--
-- Struktur-dump for tabellen `macho`
--

CREATE TABLE `macho` (
  `id` int(11) NOT NULL auto_increment,
  `startnr` smallint(6) NOT NULL default '0',
  `sluttid` time NOT NULL default '00:00:00',
  `fornavn` text NOT NULL,
  `efternavn` text NOT NULL,
  `alder` int(11) NOT NULL default '0',
  `koen` text NOT NULL,
  `by` text NOT NULL,
  `firma` text NOT NULL,
  `email` text NOT NULL,
  `klub` text NOT NULL,
  `gruppe` text NOT NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

--
-- Data dump for tabellen `macho`
--
Avatar billede macho Praktikant
03. maj 2005 - 14:39 #3
*bump*

Er der ikke én, som har et bud på mit spørgsmål?

mvh
Avatar billede bengun Novice
03. maj 2005 - 15:07 #4
Først skal du danne et udtræk som kun indeholder de hold som har 3 eller flere deltagere.

Dette udtræk skal du så bruge til at hente deltagerne på de "godkendte" hold.

Da du arbejder med Timer, Minutter og sekunder vil jeg anbefale dig at have en kolonne i din MySQL tabel der indeholder tiden i sekunder, da det er den nemmeste måde at lægge tider sammen og gruppere dem.
Avatar billede macho Praktikant
03. maj 2005 - 16:42 #5
bengun -> tak for dit input.

M.h.t. min kolonne i min MySQL tabel: Timer, Minutter og sekunder (00:00:00), mener du så, at den skal erstattes af en anden, som kun indeholder tiden i sekunder, eller hvordan skal en evt. ny kolonne kunne lave f.eks. 00:42:36 fra eksisterende kolonne?
Avatar billede bengun Novice
04. maj 2005 - 11:20 #6
Hej macho.

Du skal ikke slette kolonnerne Timer, Minutter og Sekunder, men tilføje en kolonne der indeholder tiden omregnet til sekunder.

For at omregne TT:MM:SS til sekunder kan du bruge følgende formel:
Sekunder = TT*3600 + MM*60 + SS
Avatar billede macho Praktikant
04. maj 2005 - 14:15 #7
Hej bengun,

jeg værdsætter dit svar og din tid på at hjælpe mig, men jeg må indrømme, at jeg ikke lige kan greje, hvordan jeg i praksis skal bruge dit svar! Jeg kan godt forstå php-kode og jeg kan også forstå strukturen i en MySQL-db, men derfra og så til at programmere selv, er der desværre lang vej for mig :-(
Avatar billede macho Praktikant
07. maj 2005 - 23:28 #8
Er der ikke andre på exp, som kunne tænke sig at kikke på mit spørgsmål? Er fuldstændig lost :-(

mvh.
Avatar billede macho Praktikant
02. juni 2005 - 12:26 #9
Lukker, da ingen har kunnet hjælpe med dette spørgsmål!
Avatar billede macho Praktikant
02. juni 2005 - 12:26 #10
_
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester