Tips Kupon

Tags:    php

Hej Udviklere.

Jeg har længe haft et problem med at få det her til at virke. Det er en indsendelse af en "form-mail" kan man vel kalde det.
Har læst om det og prøvet og prøvet uden det er lykkedes.

Det bunder i at jeg er med til at lave en side for en fodbold klub (frivillig basic). En ny var så at brugerne skulle tippe de kampe der skal spilles i løbet af året.

En simpel metode var så at brugeren kunne indsende sin tipskupon med 1 x 2 hvor der så er lavet de kampe der skulle spilles derefter kunne jeg ligge dem ind på siden.

En advanceret metode kunne være at "systemet" selv fandt ud af at hente kupon'erne ind på siden og sorterede dem i rækkefølge efterhånden at resultaterne kommer ind efter flest rigtige svar.

Her er et udsnit af koden jeg leger med.

<html>
<head>
<title>Tip en 13'er</title>

<style type="text/css">
h1,.resultat,#header{font-family:tahoma,verdana,arial,sans-serif;}
table{border-collapse:collapse}
table td{text-align:center;border:1px solid black;padding:0px 5px;}
.nr{text-align:right;}
.spm{text-align:left;}
.svar{width:80px;}
.resultat{display:none;font-size:x-large;margin-bottom:0.2em;}
#besvaret{display:block;}
#succes{color:blue;}
#failure{color:red;}
</style>

</head>
<body>
<h1>Tip en 13'er</h1>
<form action="udfyldt.php" method="post"></form>
<table>
<tr id="header" style="font-weight:bold;">
<td class="nr">Nr.</td>
<td style="text-align:center;font-size:large">Spørgsmål</td>
<td>1</td>
<td>X</td>
<td>2</td>
</tr>
<tr id="row1">
<td class="nr">1.</td>
<td class="spm">OB - FC København</td>
<td class="svar"><input type="radio" name="r1" value="1"> <br>1</td>
<td class="svar"><input type="radio" name="r1" value="x"> <br>X</td>
<td class="svar"><input type="radio" name="r1" value="2"> <br>2</td>
</tr>
<tr id="row2">
<td class="nr">2.</td>
<td class="spm">Esbjerg FB - Viborg FF</td>
<td><input type="radio" name="r2" ><br>1</td>
<td><input type="radio" name="r2" ><br>X</td>
<td><input type="radio" name="r2" ><br>2</td>
</tr>
</table>
</form>

Håber der er hjælp at hente.

Mvh Rasmus Christensen



5 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 6 karma
Sorter efter stemmer Sorter efter dato
JT du har fuldstændig ret det er netop de spørgsmål du kommer med som jeg søger.

Altså hvordan jeg opsætter det så brugeren kan sende sit svar ind på den tipskupon, hvis det man så kan sætte det op så det automatisk sortere efter hvem der har flest rigtige svar så man inde på hjemmesiden løbende kan følge med i hvor man selv er placeret.

Hjalp det. Ellers skal jeg uddybe det videre?

Mvh Rasmus Christensen


Det hjalp :)

Der er mange forskellige måder at gøre det på, og da jeg ikke har lavet et sådant system før, er min løsning nok ikke vildt god!
Jeg ved ikke om man skal have en profil på din side, eller om det bare er for alle, men du må finde en måde at registere hver bruger på, så der ikke kan "snydes".
Men du kan jo starte med at tilføje en submit til din form.
På den side du sender din form-data til, skal du så til at behandle dem.
Du kunne evt gemme hver tipning i en databasetabel.
I denne tabel kan du notere hvem der gættet, hvad de har gættet, hvor mange rigtige, osv.
Hvad de har gættet kunne gøres således:
Hver kamp har et nummer, og 1,x og 2 er muligt for hver kamp.
Deres odds kan så sammensættes til en streng, f.eks. 1:x|2:1|3:2, som betyder kamp nr. 1 - x, kamp nr. 2 - 1, og kamp nr. 3 - 2
Det lægges ind i tabellen som deres gæt.
Når du så indtaster kampens resultater i en anden tabel, kan du lave en knap der hedder "opdater", som kalder en funktion der finder dem med flest rigtige. Før du kan det, skal du hente deres gæt ud af tabellen, og dele den op i de rigtigt fragmenter, men det er rimelig simpelt. Funktionen kan så opdatere feltet "antal rigtige" i tabellen med deres gæt.
Du kan nu nemt hente dem med den højeste score...

Det kan nok gøres på en anden måde, men denne er simpel - og den virker måske også :)
Du skal altså:
Oprette en tabel med kampe
Oprette en tabel med gæt
Lave en funktion der opdatere antallet af rigtige, når du indtaster resultater og trykker "opdater".
Hente de bedste ud af tabellen - måden afhænger af hvilken database du bruger




Du er under alle omstændigheder nød til at have gang i en database og noget SQL, der findes en meget god guide til SQL på

http://www.w3schools.com/sql/default.asp

og på denne side kan du se hvordan du bruger en database på siden

http://www.w3schools.com/ado/default.asp

Held og Lykke


Det kan være du skal bruge en mere effektiv database end Access som fx mySQL, men hvis der ikke er for mange tipsinput til din database tror jeg ikke du vil få problemer med det?

Ellers hvis du skulle have lyst til at lære lidt mere kan du læse om implementering af mySQL sammen med PHP her:

http://uk.php.net/manual/en/ref.mysql.php

[Redigeret d. 02/08-04 09:53:44 af Simon Merlung]

[Redigeret d. 02/08-04 09:54:06 af Simon Merlung]



Hey...

Jeg synes ikke at det fremgår helt tydeligt hvad dit problem er?! Det er måske bare mig der er dum dér :)
Er dit problem at du ikke kan sende din form, eller er dit problem den videre behandling af de indtastede data?
Umiddelbart ville det også være en god ide med en submit til din form :)



[Redigeret d. 01/08-04 14:17:46 af JT]



Hey...

Jeg synes ikke at det fremgår helt tydeligt hvad dit problem er?! Det er måske bare mig der er dum dér :)
Er dit problem at du ikke kan sende din form, eller er dit problem den videre behandling af de indtastede data?
Umiddelbart ville det også være en god ide med en submit til din form :)



[Redigeret d. 01/08-04 14:17:46 af JT]


Enig



JT du har fuldstændig ret det er netop de spørgsmål du kommer med som jeg søger.

Altså hvordan jeg opsætter det så brugeren kan sende sit svar ind på den tipskupon, hvis det man så kan sætte det op så det automatisk sortere efter hvem der har flest rigtige svar så man inde på hjemmesiden løbende kan følge med i hvor man selv er placeret.

Hjalp det. Ellers skal jeg uddybe det videre?

Mvh Rasmus Christensen



t