Wie kann ich das am besten lösen

Hallo alle zusammen,

also ich versuche für mein Hockey Manager Browsergame eine Aufstellung die Änderbar ist zu programmieren. Alle Spieler haben eine Reihe (Datenbank Spalte „Reihe“) von 1. bis 4. und – für nicht aufgestellt. Jetzt selectiere ich sie so das ich zB Reihe 1 angezeigt bekomme (SELECT * FROM spieler WHERE Reihe=„1.“). Das klappt soweit. Jetzt möchte ich das man jetzt bei diesem Spieler zB Reihe 2 auswählt. Durch und kann man jetzt Reihe 1. bis 4. und – auswählen. Jetzt soll man speichern und durch ein UPTADE den Spieler verscheiben (also in meinem Beispiel ändert sich die Spalte „Reihe“ bei diesem Spieler von „1.“ zu dem ausgewählten.

Ich weiß wie man bei einem und die Spalte ändert aber wir haben jetzt ja mehrere Spieler die einzeln gespeichert werden müssen. Aber sie hängen ja alle in einem . Einer eine Idee hier der Code:

[PHP]<?php $db_link = mysqli_connect ( localhost, ******, ********, ***** ); $sql = "SELECT * FROM spieler WHERE team = 'Hannover' AND Reihe = '1.';"; $db_erg = mysqli_query( $db_link, $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysqli_error()); } ?>

1.Reihe

<?php $dbhandle = mysql_connect("localhost","****","******"); $db = mysql_select_db("*****", $dbhandle);

$result = mysql_query(„SELECT * FROM spieler WHERE team = ‚Hannover‘ AND Reihe = ‚1.‘“);

echo ‚

‘;
while ($zeile = mysqli_fetch_array( $db_erg, MYSQL_ASSOC))
{
echo „“;
echo „“; //Info für euch: Es gibt mehrere Spieler!!!
echo „“;
echo „“;
}
echo „
PositionNameReihe
“. $zeile[‚position‘] . „“. $zeile[‚name‘] . „“;
echo „1.“ . $zeile[‚Reihe‘] . „3.4.–“;
echo „
“;
?>
[/PHP]

Info: Jetzt will ich wenn man auf Senden klickt, das er alle Reihen die du geändert hast UPTADEn… Wie kann man das am besten lösen??? (Rein logische Sache keine Programmierproblem :wink: )

Hoffe mir kann jemand helfen…

Danke :slight_smile:

Ich habe nicht verstanden was du willst. Wie wäre es, wenn du uns nen Bild malst. ^^

Schade :smiley:

Also: http://emo.bplaced.net/aufstellung.php

Hier ist eine Aufstellung. Die Datenbank („spieler“) sieht wie folgt aus:

id |position | name |Reihe | team 1 LV Max Mustermann -- Hannover 2 LV Zuckermann 2. Hannover 3 C Frankenstein 3. Frankfurt 4 RV Weihnachtsmann 2. Hannover 5 C Niemand 2. Hannover 6 RF Astragon 2. Hannover 7 LF Sandmänchen 2. Hannover

[PHP]1." . $zeile[‚Reihe‘] . „3.4.–“;echo „“;[/PHP]
So ich habe ja aktuell in einer Tabelle alle aus der 2.Reihe (Datenbank-Spalte „Reihe“ → SELECT * FROM spieler WHERE team = ‚Hannover‘ AND Reihe = ‚2.‘ ). Jetzt soll man mit und die Reihe bei zB. Sandmänchen ändern.

Jetzt will ich wenn man auf Senden klickt, das er alle Reihen die du geändert hast UPTADEn?

Verstanden?

Also erst einmal würde ich mir überlegen, wie ich sachen in meiner Datenbank speichern soll.
Du hast bestimmt leute die sich registrieren wollen, wenn dein Spiel fertig ist und die wollen ihren eigennen Teams bestimmt selber namen geben. Also baue dir erstmal ne Team tabelle.
Jetzt hast du teams welche alle eine ID haben, deshalb sieht dein Query nun so aus.

SELECT * FROM spieler WHERE team = 54 AND Reihe = 2

Nun willst du dir erstmal überlegen, welche Daten du überhaupt gerade brauchst. Nachdem du das getan hast musst du nicht mehr „SELECT *“ schreiben sondern kannst die einzelnen Felder die du haben willst genau benennen. :slight_smile:

Gerade fällt mir auf, dass du in deiner Datenbank die „reihe“ nicht als integer speicherst sondern so komisch mit einem punkt hinten dran. keine ahnung warum du das tust aber es sieht komisch aus. niemand würde das machen. und du solltest das auch nicht tun. die information das ein punkt dahinter ist, ist doch total irrelevant für deine datenhaltung.

Das sollte aller erst einmal reichen um dich zu beschäftigen. Danach sollte dir ein weg einfallen, wie du das Problem lösen kannst.

Und: wieso um alles in der Welt benutzt du mal mysqli* und dann wieder mysql*??