Berechnungssystem so möglich? |
Steffi.

ehemals LatinoMausi
 

Dabei seit: 08.02.2005
Beiträge: 6.552
Herkunft: Niedersachsen
 |
|
Berechnungssystem so möglich? |
 |
Hallöle,
ich tüftel grade an einem Berechnungssystem herum. Es geht darum den Wert eines Pferdes automatisch generieren zu lassen um ein absolut einheitliches und faires Preisbild zu bieten. Ich weiß allerdings nicht ob das so, wie ich es mir vorgestellt habe, überhaupt möglich ist.
Ich habe bisher die Ausbildung als Kriterium hinzugezogen. Das gin auch relativ einfach da ich für die Ausbildung Punktwerte habe und mir daran einen Preis via PHP ausrechnen lassen kann (via Multiplikation und Addition). Dieser Bereich funktioniert auch schon wie gewünscht, das heißt er steigt wenn der Ausbildungswert des Pferdes steigt.
Allerdings würde ich gerne auch andere Kriterien in den Preis mit einfließen lassen, da ich ansonsten einen Grundwert angeben muss und somit wieder ein 'Ungleichgewicht' in das System kommt (das soll ja verhindert werden...). Folgendes würde ich gerne einfließen lassen:
1. Seltene Rassen
Das heißt wenn im Feld 'rasse' der Datenbank eine bestimmter Wert eingetragen ist (zB. Paso Fino) soll dem Preis ein "Aufschlag" zugerechnet werden (bspw. 750€), bei anderen Rassen jedoch andere Werte und bei einigen keine
2. Das Geschlecht
Sprich: Ein Hengst soll mehr als eine Stute kosten, eine Stute jedoch mehr als ein Wallach
3. Das Alter
4. Bestimmte Zuchtwerte
5. Bestimmte Fellfarben
6. Turniererfolge
soo, ich weiß allerdings nicht so ganz wie ich das realisieren soll. Also das es irgendwie mit If-Abfragen zu tun hat ist mir schon bewust aber wie lasse ich beispielsweise berechnen das im Falle dass das Pferd eine Paso Fino Stute ist die keine Nachkommen hat ein gewisser Betragt für das Geschlecht Stute hinzugerechnet wird, für die Rasse ebenfalls, aber nicht für die anderen, nicht erfüllten Kriterien (wie in diesem Beispiel die Nachkommen) und wie kann ich diesen Wert dann zu dem Bereits stehenden Wert addieren welcher ja durch die Berechnung der Ausbildung entsteht?
Gehts das alles überhaupt oder sollte man es lieber gleich sein lassen?
EDIT:
Ich habe mal bereits angefangen die ersten 'Seltenen Rassen' als If-Bedingung zu formulieren, das ist an sich auch nicht das Problem. Ist eben eine bestimmte Rasse zutreffen (if, or) wird eben der Wert der rauskommen würde wenn man nur die Ausbildung berechnen würde eben um einen gewissen Betrag erhöht. Das funktioniert soweit auch. Wie soll ich es allerdings anstellen das es möglich ist das ein Pferd auch eine seltene Rasse haben kann (da sind ja mehrere möglich) und auch eine Stute sein kann, somit beides berechnet wird? Ich kann ja nicht alle möglichkeiten mit and abdecken, da bin ich ja in jahren noch dabei ....
php: |
1:
2:
|
if ($row->rasse == "British Riding Pony" or $row->rasse == "Welsh A" or $row->rasse == "Polo Pony" or $row->rasse == "Connemara Pony") {
echo "$add_Gesamt_Rasse_Kategorie1 €"; |
|
könnte man den or, or, or Teil auch verallgemeinern? Also da zB einsetzen: $row->rasse == "Rasse_Katg_1 und dann irgendwo alle Rassen definieren die zu Katg 1 gehören? Wäre es dann mit and möglich?
Huah...
__________________
Signatur.Signatur.Signatur...
haha.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Steffi.: 17.05.2010 23:56.
|
|
17.05.2010 22:46 |
|
|
Leila

Mitglied
 
Dabei seit: 09.02.2005
Beiträge: 12.987
 |
|
Die Rassen könntest du in arrays legen und dann abfragen, mit if, else if usw. ob die Rasse im array liegt.
Bei Turniererfolgen hoffe ich für dich, dass du die in ner eigenen Tabelle hast, dann kannst nämlich auszählen, wie viele Erfolge jedes Pferd hat, dementsprechend auch für verschiedene Platzieungen verschiedenes vergeben.
Fellfarben könntest du ebenfalls mit array machen, für Geschlecht wieder ne If-Abfrage. Bei Zuchtwerden, weiß ich leider nicht, was du dir so vorstellst. Für alter müsste das auch gehen mit if
Ich muss ganz ehrlich sagen, ich wäre wohl an der Ausbildung gescheitert, aber das Problem hast du ja gelöst
|
|
18.05.2010 00:08 |
|
|
Leila

Mitglied
 
Dabei seit: 09.02.2005
Beiträge: 12.987
 |
|
müsste. Musst halt nur die Erfolge des Pferdes mit id x abfragen und Einträge in der Tabelle zählen (mysql_num_rows($abfrage))
|
|
18.05.2010 12:23 |
|
|
Steffi.

ehemals LatinoMausi
 

Dabei seit: 08.02.2005
Beiträge: 6.552
Herkunft: Niedersachsen
Themenstarter
 |
|
So, habe nun endlich Zeit gefunden und versucht die Rassen in Array zu legen, die Abfrage klappt aber leider nicht, ich bekomme immer den else-Wert ausgegeben auch wennich eine der Rassen angebe welche in den Arrays liegen.
Mein Code:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
|
// Rassen Berechnung nach verschiedenen Kategorien //
$Rasse_Kategorie1 = array("Welsh A", "British Riding Pony", "Riding Pony", "Polo Pony", "Connemara Pony", "Dartmoor Pony", "New Forest Pony", "Appaloosa", "Berber", "Belgisches Warmblut", "Budjonny", "Holländisches Warmblut", "Russischer Traber", "Würtemberger", "Oldenburger", "Trakehner");
$Rasse_Kategorie2 = array("Australisches Reitpony", "Bosnisches Reitpony", "Dales Pony", "Fellpony", "Exmoor Pony", "Gotland Pony", "Schwedisches Reitpony", "Pony of the Americas", "Araber", "Dänisches Reitpony", "Dänisches Warmblut", "Französisches Warmblut", "Englisches Vollblut", "Quarter Horse", "Quarter Pony", "Paint Horse", "Selle Francais", "Shagya Araber", "Welsh B");
$Rasse_Kategorie3 = array("Französisches Reitpony", "Poney Francais de Selle", "Hackney Pony", "Highlandpony", "Isländer", "Achal-Tekkiner", "Amarican Saddlebred", "Finnisches Universalpfer", "Finnisches Warmblut", "Irish Hunter", "Hunter", "Lippizaner", "Paso Fino", "Paso Peruano", "Schwedisches Warmblut", "Welsh C", "Welsh D");
$Rasse_Kategorie4 = array("Ardenner", "Brabanter", "Bretone", "Clydesdale", "Holländisches Kaltblut", "Noriker", "Percheron", "Rheinisches Kaltblut", "Russisches Kaltblut", "Alter Real", "Andalusier", "Knappstrupper", "Morgan Horse", "Belgisches Kaltblut", "Rheinländer");
$Rasse_Kategorie5 = array("Pura Raza Espanola", "Friese", "Barock-Pinto", "Hispano Araber", "Russischer Araber", "Persischer Araber", "Arabisches Vollblut", "Lusitano");
$Rasse_Kategorie6 = array("Shire Horse");
$add_Gesamt_Rasse_Kategorie1 = $add_Gesamt + 1000;
$add_Gesamt_Rasse_Kategorie2 = $add_Gesamt + 1500;
$add_Gesamt_Rasse_Kategorie3 = $add_Gesamt + 2000;
$add_Gesamt_Rasse_Kategorie4 = $add_Gesamt + 2500;
$add_Gesamt_Rasse_Kategorie5 = $add_Gesamt + 3000;
$add_Gesamt_Rasse_Kategorie6 = $add_Gesamt + 4000;
if ($row->rasse == $Rasse_Kategorie1) {
echo "$add_Gesamt_Rasse_Kategorie1 €";
}
elseif ($row->rasse == $Rasse_Kategorie2) {
echo "$add_Gesamt_Rasse_Kategorie2 €";
}
elseif ($row->rasse == $Rasse_Kategorie3) {
echo "$add_Gesamt_Rasse_Kategorie3 €";
}
elseif ($row->rasse == $Rasse_Kategorie4) {
echo "$add_Gesamt_Rasse_Kategorie4 €";
}
elseif ($row->rasse == $Rasse_Kategorie5) {
echo "$add_Gesamt_Rasse_Kategorie5 €";
}
elseif ($row->rasse == $Rasse_Kategorie6) {
echo "$add_Gesamt_Rasse_Kategorie6 €";
}
else {
echo "$add_Gesamt €";
}
}
?> |
|
__________________
Signatur.Signatur.Signatur...
haha.
|
|
21.05.2010 11:40 |
|
|
Leila

Mitglied
 
Dabei seit: 09.02.2005
Beiträge: 12.987
 |
|
es heißt "else if" also in 2 Wörtern
|
|
21.05.2010 13:19 |
|
|
|
Impressum
|