ID des DropDown als DatensatzID nutzen

Sorry, wenn ich jetzt noch mal dumm nachfrage.

Die Spiele stehen ja fest inkl. Datum, wobei sich letzteres ja noch immer mal ändern kann. Das bedeutet, du hast eine Tabelle haben musst, in welchem die Spiele bereits vorhanden sind.

Bsp.:
Tabelle Spiele
id | heim | gast | datum | beginn | tore_heim | tore_gast

Wenn du nun diese Tabelle abrufst, kannst du für jede Zeile ein Dropdownmenü generieren und zwar nur noch die auswahl zum Bereich Tore.

Jede Zeile in der Darstellung hat ein Formtag mit der Referenz der ID aus der Spieletabelle, um die Ergebnisse entsprechend einzutragen bzw. zu ändern.

Jetzt raff ich egal wie ich darüber nachdenke nicht, wie du ein Update durchführen willst, wenn keine Referenzid zur Datenbanktabelle bzw. Zeile in der Tabelle vorhanden ist?
Du überschreibst letztlich immer einen einzigen Eintrag und zwar die erste Zeile.
 
mhh OK

nehmen wir mal das Bsp. Dortmund. Im Value des DropDowns ist die ID des Datensatzes angegeben, nämlich 10.
Der Datensatz mit der ID 10 wurde erstellt mit folgenden Feldern:

spiel_id
halle
datum
uhrzeit
heim
gast

Desweiteren habe ich in der Tabelle mbjugend_spiel noch die Felder

haheim (Halbzeitergebnis Heim)
hagast (Halbzeitergebnis Gast)
egheim (Endergebnisergebnis Heim)
eggast (Endergebnisergebnis Gast)

erstellt. Diese sollten eigentlich automatisch mit 0 gefüllt werden.

Mit dem DropDown, wähle ich nun ID 10 aus, um die Felder

haheim
hagast
egheim
eggast

upzudaten....

So soll der Code funktionieren, tut er aber leider nicht......
 
Zuletzt bearbeitet:
Also um es einfacher darzustellen:

Du musst eine Tabelle haben mit den Spielbegegnungen. Aus dieser wird dein Dropdownmenü gefüllt mit den Optionsmöglichkeiten:

Beispiel:
Datenbanktabelle beinhaltet als Bsp. folgende Spalten:
id (für forlaufende Nummerierung)
heim
gast
datum

Die obige Tabelle wird mit den Begegnungen gefüllt. Dann wird diese Tabelle ausgelesen und zwar per id für den Valuewert und für die Anzeige die Begegnung.

<select name="spiel" onChange="submit ();">
<option value="0">Bitte auswählen</option>
<option value="1">Bremen : Dortmund</option>
<option value="2">Dortmund : Bayer München</option>
<option value="3">Stuttgart : Bayer Leverkuse</option>
<option value="4">Schalke 04 : Hamburger SV</option>
.... usw.....
</select>

Um nun das Spiel zu ändern bzgl. Halbzeitergebnisse, gibst du die Valueid in den Formtag dazu oder als versteckter
<input name="spiel_id" type="hidden" value="wert_aus_dropdownmenü" />

Darunter deine obige Tabelle.

Wird nun das Spiel bzw. die Änderung gespeichert, wird entweder in der gleichen Tabelle (wobei dann die Spalten ergänzt werden müssen um die Spielergebnisse) die ID gesucht und dann die Ergebnisse eingetragen.

Besser wäre eine Tabelle mit ausschl. den Ergebnissen und als Referenzid die ID aus der Tabelle Spielbegegnungen. Wäre auch eine Möglichkeit, wobei es noch sicherlich weitere Möglichkeiten dazu gibt.
 
PHP:
<?php
                if ($_GET['spiel'] != "") {
                    ?>
                    <input type="hidden" name="spielid" value="<?=$_REQUEST['spiel']?>">
                    <?php
                }
                ?>

Da habe ich das ja schon soweit eingebaut. Liegt dort vielleicht der Fehler
 
Deine If würde mir zumindest nicht gefallen.

PHP:
<?php
if(isset($_GET['spielid']) AND $_GET['spielid'] > 0) { 
// zeige input tag
}
else {
// zeige Fehlermeldung
}
?>
 
PHP:
<?php
if(isset($_GET['spielid']) AND $_GET['spielid'] > 0) { 
input type="hidden" name="spielid" value="<?=$_REQUEST['spiel']?=>"; 
}
else {
die(mysql_error());
}
?>

So hab ich das jetzt gemacht, aber gibt er mir nen Error aus......
 
Code:
echo "<input type=\"hidden\" name=\"spielid\" value=\"".$_REQUEST['spielid']."\" />";

Achso und wie sieht die Fehlermeldung aus?
 
PHP:
<?php
if(isset($_GET['spielid']) AND $_GET['spielid'] > 0) { 
echo "<input type=\"hidden\" name=\"spielid\" value=\"".$_REQUEST['spielid']."\" />";
}
else {
echo "Nicht Verfügbar";
}
?>

So sieht es jetzt aus, allerdings gibt er jetzt immer bei Auswahl des Datensatzes "NichtVerfügbar" aus.....

So werden die Daten upgedatet, ist hier vielleicht noch ein Fehler drin

PHP:
<?php

    if( $SERVER['REQUEST_METHOD'] == 'POST' && isset($_GET['do']) && $_GET['do'] == 'update' ) {
        $query = '
            UPDATE
                    `mbjugend_spiel`
              SET
                    `haheim` = "'.mysql_real_escape_string($_POST['haheim']).'",
                    `hagast` = "'.mysql_real_escape_string($_POST['hagast']).'",
                    `egheim` = "'.mysql_real_escape_string($_POST['egheim']).'",
                    `eggast` = "'.mysql_real_escape_string($_POST['eggast']).'",

              WHERE
                    `spiel_id` = '.intval($_POST['spielid']).'
            ';
        $result = mysql_query($query)
            or die(mysql_error());
        if( mysql_affected_rows() > 0 ) {
            echo 'Daten erfolgreich aktualisiert.';
        }
    }

    $query = '
        SELECT
                `spiel_id`
          FROM
                `mbjugend_spiel`
        ';
    $result = mysql_query($query)
        or die(mysql_error());

?>
 
Zuletzt bearbeitet:
Also wenn du das alles so stimmt, dann übergibst du per GET die ID. Diese ID nimmst du um die Spielbegegnung abzurufen, welche dann in deine Tabelle einlesen lässt.

Dort brauchst du auch keine Input-Tags bzgl. der Mannschaften, sondern nur noch die Input-Tags für das Halbzeit oder sonstige Ergebnis.
Du kannst per Dropdown noch das Auswahlmenü anbieten für Halbzeitergebnis oder Endstand.

Diese Daten sendest du in eine eigene DB-Tabelle für Ergebnisse.
 
ja aber so funktioniert es nicht.....

liegt es vielleicht am auslesen?

Hier mal der Code

PHP:
<?php
$sel2 = mysql_query("SELECT * FROM mbjugend_spiel Where spiel_id=1");
$row2 = mysql_fetch_assoc($sel2);
?>

					
					<td>
						<?=$row2['datum']?>
					</td>
					<td>
						<a href="javascript:popup('<?=$row2['halle']?>.html')"><img src="finger.gif" width="33" height="14" border="0" alt="Hallenbeschreibung"></a>
					</td>
					<td>
						<?=$row2['uhrzeit']?>
					</td>
					<td>
						<?=$row2['heim']?>
					</td>
					<td>
						<b> - </b>
					</td>
					<td>
						<?=$row2['gast']?>
					</td>
					<td>
						<?=$row2['egheim']?>
					</td>
					<td>
						<?=$row2['eggast']?>
					</td>
					
				</tr>
				<?php
			
			?>
		</table>

Aber deiner Meinung nach, müsste es so funktionieren
 
Zurück