Det jeg nu gerne vil have lavet, er et søgefelt, hvor man kan indtaste sit startnummer, hvorefter der vil blive vist en tabel, hvori der står det samlede samlede resultat i distancen, samt resultat i én egen klasse.
Nu er det sådan, at jeg i DB'en ikke har placeringen i forvejen. Jeg har KUN felterne "sluttid", "distance" og "gruppe" at gå efter, så det må være noget med udregning af placering i forhold til "time" kontra "distance" og "gruppe".
Nah, det er nok ikke så slemt. Men hvad er regnestykket? Du må så lige prøve at forkare beregningen af de info du vil have, så må vi jo se om det kan lade sig gøre.
Jo, en nærmere forklaring er nok nødvendig: Efter indtastning af startnummer i søgefeltet, skal udregningen ske således:
Der skal vises data for navn, nummer, placeringen på distancen, samt placering i gruppen (distancen er opdelt i flere grupper). I DB'en har jeg feltet "time" med sluttider for samtlige løbere, så en løber skal kunne vises f.eks. på denne måde:
-------------------------------------------------------------------------- | Fornavn | Efternavn | Sluttid | Placering totalt | Placering gruppe | -------------------------------------------------------------------------- | Hans | Hansen | 03:20:12 | 13 | 9 | --------------------------------------------------------------------------
Håber det er nok oplysninger, ellers skal jeg forsøge mig endnu mere hardcore!!
1. distance: Marathon a. gruppe MA-M1 (mænd) b. gruppe MA-M2 (mænd) c. gruppe MA-M3 (mænd) d. gruppe MA-K1 (kvinder) e. gruppe MA-K2 (kvinder)
2. distance: Halv marathon a. gruppe HA-M1 (mænd) b. gruppe HA-M2 (mænd) c. gruppe HA-M3 (mænd) d. gruppe HA-K1 (kvinder) e. gruppe HA-K2 (kvinder)
Grupperne (f.eks. MA-M1) ligger i DB'en under feltet "gruppe". Hver post er altså tildelt en eller anden gruppe.
osv. med flere distancer og grupper! Der skal udregnes placering i den enkelte gruppe (f.eks. MA-M1) og total-placering for "Marathon - Mænd". Jeg har også et felt med "køn" i DB'en, så ved visning af total-placering for "Marathon - Mænd", skal udregnes på "sluttid" kontra distance/køn. Ved visning af placering i gruppe, skal der så udregnes på "sluttid" kontra gruppe.
Det var faktisk lidt mere avanceret end jeg lige havde regnet med :/ Og det kan nok også gøres smukkere/hurtigere/nemmere end det jeg har fået lavet, men jeg tror nu nok mit vil virke:
$startnummer = $_POST['startnummer'];
//deltagerens gruppe $gruppe = mysql_query("SELECT navn, gruppe FROM tabel WHERE startnr = '$startnummer'"); $gruppe = mysql_fetch_array($gruppe);
//totale placering $q = mysql_query("SELECT * FROM tabel ORDER BY sluttid ASC"); $i = 1; while($row = mysql_fetch_array($q)) { if($row['startnr'] == $startnummer){ $total_placering = $i; } $i++; }
//placering i gruppen $q = mysql_query("SELECT * FROM tabel WHERE gruppe = '$gruppe[gruppe]' ORDER BY sluttid ASC"); $i = 1; while($row = mysql_fetch_array($q)) { if($row['startnr'] == $startnummer){ $gruppe_placering = $i; } $i++; }
Der er kun problemer med "total placering". Hvis jeg følger det du skriver, så bliver det ganske vist en total placering, men en totalplacering for SAMTLIGE distancer og køn. Denne "Total placering" skal gælde placering i distancen og for eget køn.
Prøv den her: $startnummer = $_POST['startnummer'];
//deltagerens gruppe $gruppe = mysql_query("SELECT koen, navn, gruppe FROM tabel WHERE startnr = '$startnummer'"); $gruppe = mysql_fetch_array($gruppe);
//totale placering $q = mysql_query("SELECT * FROM tabel WHERE koen = '$gruppe[koen]' ORDER BY sluttid ASC"); $i = 1; while($row = mysql_fetch_array($q)) { if($row['startnr'] == $startnummer){ $total_placering = $i; } $i++; }
//placering i gruppen $q = mysql_query("SELECT * FROM tabel WHERE gruppe = '$gruppe[gruppe]' ORDER BY sluttid ASC"); $i = 1; while($row = mysql_fetch_array($q)) { if($row['startnr'] == $startnummer){ $gruppe_placering = $i; } $i++; }
Felter hedder, som du gætter, "koen". Køn bliver gemt som "Male" og "Female".
Hvis jeg bruger dit sidst forslag, er det desværre stadig ikke total-placering for distancen (f.eks. marathon/kvinder), men derimod total-placering for alle distancer: (f.eks.: alle distancer/kvinder).
Jeg har forsøgt flere ting selv, men jeg kan dælme ikke selv få det til at gøre som jeg ønsker!
//deltagerens gruppe $gruppe = mysql_query("SELECT name, koen, gruppe, distance FROM tabel WHERE startnr = '$startnummer'"); $gruppe = mysql_fetch_array($gruppe);
//totale placering $q = mysql_query("SELECT * FROM tabel WHERE koen = '$gruppe[koen]' AND distance = '$gruppe[distance]' ORDER BY sluttid ASC"); $i = 1; while($row = mysql_fetch_array($q)) { if($row['startnr'] == $startnummer){ $total_placering = $i; } $i++; }
//placering i gruppen $q = mysql_query("SELECT * FROM tabel WHERE gruppe = '$gruppe[gruppe]' ORDER BY sluttid ASC"); $i = 1; while($row = mysql_fetch_array($q)) { if($row['startnr'] == $startnummer){ $gruppe_placering = $i; } $i++; }
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.