• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Frage : Abspeicherung (3. Fälle können eintreten)

Mh ich dachte mir einfach das man einfach vom Formular die Position übergibt wo er spielt. Sprich das der User eben nur den Spieler auswählt und das Script dann auswertet wo der Spieler gesetzt ist
Woran soll denn das Skript denn erkennen, wo jemand gesetzt ist, wenn das variabel sein soll?
Entweder ist es fest, dann ist es klar, oder es ist variabel, dann musst Du eine Einstellmöglichkeit anbieten - entweder pro Spieler oder dadurch, dass Du eine endliche Zahl von festen Konfigurationen vorgibst.
Ersteres hat den Nachteil, dass Du vor dem Speichern noch prüfen musst, ob alle Positionsangaben Sinn machen (z.B. zwei Torwartspieler), zweiteres hat den Nachteil, dass die Benutzer nicht völlig frei wählen können.
 
Ja ich habe derzeit die Lösung 2 angeboten. (Systeme sollten User noch welche wollen könnte man ja immernoch einfügen). Dennoch wird nirgends festgehalten auf welcher Position er aufgestellt ist.. Bzw nur in der Aufstellungsdatei ;)

Hier :

PHP:
    if ($spieler['id'] == $aufstellung['spieler2']) $row_iv2->assign_block("iv2_selected");

Da wird jedoch einfach die ID verglichen mit der ID aus der aufstellungs-tabelle.

Jedoch wird nirgendswo abgespeichert (in einem datenbankfeld) welche Position der Spieler einnimt.

Meine Lösung wäre es die aufgestellte Position in die Spieler-Tabelle zu speichern. Da bei der Berechnung ja hier :

PHP:
  //Spieler
  $result = mysql_query("SELECT spieler_id,durchschnitt_staerke,note FROM ".$conf['db_prefix']."_spiel_berechnung WHERE position='".$position."' AND team_id='".$team_id."' AND feld='1' ORDER BY RAND() LIMIT 1");
  $spieler = mysql_fetch_array($result);
  mysql_free_result($result);

indirekt draufzugegriffen wird (vorher werden die ganzen Spieler-Daten nocheinmal in die spiel_berechnung reinkopiert. Deshalb muss die aufgestellte Position in der Spieler-Tabelle abgespeichert werden ;).

Jedoch besteht genau hier das Problem... ich komm gerade nicht auf die Idee wie ich die aufgestellte Position in die spieler tabelle bekomme.

Meine Lösung war das via Formular überzugeben. (aber nicht durch ein Select-Menü sondern eben versteckt (der User muss ja nichtmehr auswählen welche Position der Spieler einnimt) :)

Das HTML für einen Spieler sieht so aus :

PHP:
<table width="100%" cellspacing="0" cellpadding="0" border="0">
   <tr>
<td></td>
<td align="center">

                    <select name="spieler_5" class="klein">

                      <option></option>

                       <!-- START row_dm -->
    <option value="{spieler_id}"<!-- START dm_selected --> selected<!-- END dm_selected --> class="klein">{spieler_name} ({ds})</option><!-- END row_dm -->

                    </select>

                  </td>
<td></td>
</tr>
</table>
 
Jedoch wird nirgendswo abgespeichert (in einem datenbankfeld) welche Position der Spieler einnimt.
Das brauchst Du bei der Variante auch nicht. Du musst lediglich speichern, welches Layout ausgewählt wurde. Das Layout legt fest, welcher Spieler welche Position hat. Und die Layouts hast Du ja selbst definiert. Damit ist dann klar oder ableitbar, welche Spieler ID auf welcher Position spielt.

Ob Du die Layouts in einer extra Tabellenstruktur speicherst, um sie leichter ändern und erweitern zu können, oder ob das in einer PHP Datei passiert, wo Du Dir die Informationen in eine Datenstruktur packst, oder ob Du das überall hardkodiert unterbringst, bleibt noch offen.
 
Das heißt ich les dann in der Berechnung das gewählte Layout aus. Frag dann die einzelnen Felder ab (spieler1 bis spieler11) und teile dann hier die Positionen zu wenn ich das richtig verstanden habe?
 
Das heißt ich les dann in der Berechnung das gewählte Layout aus. Frag dann die einzelnen Felder ab (spieler1 bis spieler11) und teile dann hier die Positionen zu wenn ich das richtig verstanden habe?
Bei der Berechnung werden die Layouts der beiden Mannschaften, sowie deren Spieler-Profile geladen, dann werden die Stärken der Spieler anhand der Layouts gegeneinander aufgerechnet und mit weiteren Faktoren (Wetter, Dusel, Schieri, usw.) irgendwie zu einem Endergebnis der Begegnung verrechnet, welches dann wieder gespeichert werden muss.
 
ja aber ich muss ja auch die aufgestellte Position auslesen (da es ansonsten zu nem Fehler kommt da ja immer auf die Hauptposition zurückgegriffen wird) in der Berechnung wird nämlich das Schießen der Spieler Positionsabhängig gesucht (sprich Stürmer schießen öfter als IV) ;) Verstehst du was ich meine?
 
ja aber ich muss ja auch die aufgestellte Position auslesen (da es ansonsten zu nem Fehler kommt da ja immer auf die Hauptposition zurückgegriffen wird) in der Berechnung wird nämlich das Schießen der Spieler Positionsabhängig gesucht (sprich Stürmer schießen öfter als IV) ;) Verstehst du was ich meine?
Das gewählte Layout gibt doch die gesetzte Position vor. Da muss man nix zusätzlich auslesen (außer das Layout selbst, wofür es drei Varianten gibt, die ich Dir bereits genannt habe).
 
auf gut Deutsch ich les das Layout aus (was ich z.B. in die DB Speicher unter formation in der Aufstellungstabelle) und dann hab ich die Spieler schon auf ihren gesetzten Positionen Oo
 
Zurück
Oben