2Danke
ERLEDIGT
JA
JA
ANTWORTEN
3
3
ZUGRIFFE
145
145
EMPFEHLEN
-
Hallo,
mit meinem heutigen Beitrag erhoffe ich mir Denkanstösse oder vieleicht sogar einen
guten Code um folgendes zu erreichen:
Ich bastele an einem Fussballtipp"Spiel" für meinen Bekanntenkreis,
nun im wesentlichen geht nun alles. Aber ich muss halt bei jedem Spieler für jedes Spiel
die Punkte manuel vergeben, das ist bei 20 Spielern schon recht zeitaufwendig. Daher würde ich das gerne so haben, das wenn ich das Ergenis des Spiels eintrage, alle Tipps auf dieses Spiel automatisch bewertet werden und somit die Punkte vergeben werden.
Mein Problem ist aktuell das ich beim vergleichen des Tipps und des Ergenissen nicht die richtigen Ergebnisse bekomme.
Bei uns gibt es 4 Arten von Punkte:
(Spielergebnis: 3:1)
1. 3 Punkte, wenn Tipp 3:1
2. 2 Punkte, bei richtiger Tenedenz 2:0
3. 1 Punkt, bei richtigem Sieger 1:0
4. 0 Punkte, wenn alles falsch 2:3
Wenn ich nun an das Problem mit If Abfragen ran gehe, bekomme ich oft 2 Aussagen, dafür habe ich mit folgendem CODE gespielt:
Also wie beschrieben, hat jemand einen Tipp wie ich das angehen kann, oder vieleicht selbst das Problem gehabt und hat ne Lösung für mich oder aber einen Lösungsweg?PHP-Code:<?php
if ($_POST['HT'] != "" AND $_POST['TippHT'] != ""){ // Pruefen ob gepostet wurde
$HT = $_POST['HT'];
$GT = $_POST['GT'];
$TippHT = $_POST['TippHT'];
$TippGT = $_POST['TippGT']; // Entgegennahme der POST
$ergebnis1 = $HT / $TippHT;
$ergebnis2 = $GT / $TippGT; // Erechnung fuer Unentschieden
$ergebnis3 = $HT - $TippHT;
$ergebnis4 = $GT - $TippGT; // Erechnung fuer Tendenz
if ($HT == $TippHT AND $GT == $TippGT){
echo "Dein Tipp bringt dir 3 Punkte";
}
if ($HT > $GT AND $TippHT > $TippGT){
echo "Dein Tipp bringt dir 1 Punkt";
}
if ($ergebnis1 == $ergebnis2){
echo "Dein Tipp bringt dir 2 Punkte, wegen Unentschieden";
}
if ($ergebnis3 == $ergebnis4){
echo "Dein Tipp bringt dir 2 Punkte, wegen der richtigen Tendenz";
}
}
?>
<form action="" method="POST">
<table>
<tr>
<td>Spielergebnis:</td>
<td><input type="text" name="HT" size="1"/>:<input type="text" name="GT" size="1"/></td>
</tr>
<tr>
<td>Dein Tipp:</td>
<td><input type="text" name="TippHT" size="1"/>:<input type="text" name="TippGT" size="1"/></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="add" name="add"/></td>
</tr>
</table>
</form>
Vielen Dank jetzt schonmal für jede nützliche AntwortMit freundlichem Gruß
Xiaodeguo
-
28.01.12 13:46 #2
Logisch ist, dass, wer 3 Punkte bekommt, auch die Tendenz richtig haben musste, nicht wahr? Und sogar den Sieger hatte er richtig getippt..
Laß die ifs nach Punkten absteigend durchgehen und benutze eine Variable als Ausstiegs-Switch.
(das ist jetzt ungetestet, klingt aber logischPHP-Code:$ende = false;
if ($HT == $TippHT && $GT == $TippGT && !$ende){
$ende=true;
echo "Dein Tipp bringt dir 3 Punkte";
}
if ($ergebnis3 == $ergebnis4 && !$ende){
$ende=true;
echo "Dein Tipp bringt dir 2 Punkte, wegen der richtigen Tendenz";
}
if ($ergebnis1 == $ergebnis2 && !$ende){
$ende=true;
echo "Dein Tipp bringt dir 2 Punkte, wegen Unentschieden";
}
if ($HT > $GT && $TippHT > $TippGT && !$ende){
$ende=true;
echo "Dein Tipp bringt dir 1 Punkt";
}
)
mfg chmeeGeändert von chmee (28.01.12 um 13:53 Uhr)
Mein Blog - VideoFAQ - FotoFAQ - bei Flickr - DSLR Kleinanzeigen
Benutzt den DANKE-Knopf oder bewertet den Beitrag
"GEHT NICHT" HILFT NICHT, TESTET EURE CODES ONLINE UND GEBT KLARE INFOS!
-> Regexp <- -> php <- -> Javascript <-
-
28.01.12 13:48 #3
Wie wäre es mit else oder elseif (http://php.net/manual/de/control-structures.elseif.php) ?
Dann würden die weiteren ifs nur abgefragt falls die Aussage nicht zu trifft.
Denn aktuell werden alle ifs hintereinander abgefragt, wodurch deine 2 Aussagen entstehen.Bei Nachteilen nicht jammern, sondern neue Wege finden.
The worst decision is indecision.
-
Herzlichen Dank euch beiden.
Konnte mein Problem nun wie folgt lösen.
PHP-Code:$HT = $data->t_HT;
$GT = $data->t_GT;
$TippHT = $data->tore_HT;
$TippGT = $data->tore_GT;
$ergebnis1 = $HT - $TippHT;
$ergebnis2 = $GT - $TippGT; // Errechnung fuer Tendenz
$ende = false;
/**
* KEIN ERGEBNISS VORHANDEN // SPIEL NICHT BEENDET
*/
if ($HT == "" && !$ende){
$ende=true;
$punkte = 0;
}
/**
* ERGEBNIS UND TIPP STIMMEN UEBEREIN
*/
elseif ($HT == $TippHT && $GT == $TippGT && !$ende){
$ende=true;
$punkte = 3;
}
/**
* RICHTIGE TENDENZ
*/
elseif ($ergebnis1 == $ergebnis2 && !$ende){
$ende=true;
$punkte = 2;
}
/**
* RICHTIGEN SIEGER HEIMTEAM
*/
elseif ($HT > $GT && $TippHT > $TippGT && !$ende){
$ende=true;
$punkte = 1;
}
/**
* RICHTIGEN SIEGER GASTTEAM
*/
elseif ($HT < $GT && $TippHT < $TippGT && !$ende){
$ende=true;
$punkte = 1;
}
ELSE{
$punkte = 0;
}
Mit freundlichem Gruß
Xiaodeguo
Ähnliche Themen
-
Berechnung von Punkten
Von fjordschritt im Forum JavaAntworten: 15Letzter Beitrag: 08.12.09, 11:04 -
Projektion von Punkten
Von NotThatJenny im Forum C/C++Antworten: 2Letzter Beitrag: 11.11.07, 17:58 -
1.Zeit errechnung 2. mysql abfrage
Von cyber_rest im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 1Letzter Beitrag: 26.08.04, 11:46 -
Hilfe bei Programm errechnung
Von Trancefreak im Forum Visual Basic 6.0Antworten: 0Letzter Beitrag: 24.05.04, 04:19 -
Errechnung eines Datums aus Kalenderwoche und Tag
Von Karl Förster im Forum PHPAntworten: 5Letzter Beitrag: 03.09.03, 10:55





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren