formtags etc sind dabei. Habe schon alles nach kleinen Fehlern durchsucht wie $ oder ; vergessen nix gefunden...
Er wechselt mir auch auf die richtige Seite, wie kann ich mir die Sachen auf der Update-Seite anzeigen lassen? Um zu sehen, ob er die Daten weingstesn richtig bekommt?
wieso 'on'
das sollten numerische Werte zwischen 1 und 4 sein ...
Formular aufrufen :: Ansicht -> Quelltext
wenn bei den radio buttons auch value="on" steht,
ist das rätselhaft, da in der Funktion radio Zahlen ausgegeben werden sollten;
wenn nicht, dann sind die Werte in $_POST absolut rätselhaft.
ooooooohhh ich seh es: die Anführungszeichen beim Feldnamen werden nicht geschlossen:
<INPUT TYPE="radio" NAME="', $spieler_name, '[', $spieler_id, ']" ',
------------------------------------------------------------^
Die Gänsefüßchen hinter dem ] fehlen
mea culpa. kleiner Tippfehler. Hab ich auch mal in meinem Original-Posting korrigiert.
mein Sport: mein Frühstück: meine Arbeit:
Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
ein Anfang ist gemacht Er macht jetzt eine Aktualisierung, aber warum er nicht bei allen Spielern das Update durchführt, kannst Du mir nun sicher erklären
btw, hatte das Originalpost nicht mehr gelesen, wie Du vielleicht bemerkt hast
Kann ich eigentlich mit checked den Wert schon auf den Block setzen, den der Spieler in der db schon hat? Das muss ich dann wohl in der Funktion machen. Muss das dann checked'$spieler_block' heißen?
Sorry für meine kleine Nerverei, aber ich lerne hier gerade.
Geschweifte Klammern sind nur dazu da, mehrere Befehle zu einem Block zusammen zu fassen:
foreach ($array as $index => $inhalt)
{ // hier geschweifte Klammern
befehl1;
befehl2;
}
Kann ich eigentlich mit checked den Wert schon auf den Block setzen, den der Spieler in der db schon hat?
Das wird eigentlich durch Übergabe von $x['block'] als Parameter $wert an die Funktion schon erledigt, und zwar genau an dieser Stelle: ($i==$wert ? 'checked ':'')
mein Sport: mein Frühstück: meine Arbeit:
Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
$result = mysql_query("update hm_spieler
set spieler_block=$b,spieler_block_pk=$pk[$spieler_id], spieler_block_pp=$pp[$spieler_id]
where spieler_id=$spieler_id");
hmm ... wenn der Wert verloren geht, ist die Frage wo. Es gibt dazu vier mögliche Stellen, und mit den folgenden Maßnamen kannst du herausfinden, wo das ist:
1. Datensatz mit phpMyAdmin anschauen
stimmt der Wert hier nicht, wird er nicht ordentlich geschrieben 2. Datensatz in der Schleife mit var_dump($x); oder echo "$x[spieler_id]:$x[block]<br>"; ausgeben
stimmt der Wert im MyAdmin, aber hier nicht, wird er falsch ausgelesen 3. in den Quelltext gucken
Stimmt der Wert bei 1 und 2, aber es steht nirgends checked, dann beiß ich mir ins Knie.
Stimmt er auch da: 4. nach dem Abschicken nochmal var_dump($_POST['block']) 5. ergänze den Befehl mysql_query(...); zu mysql_query(...) or die (mysql_error());
Also, wenn ich das richtig sehe, dann hat er die Werte, oder? Aber mal eine andere Sache; ich ahbe das Updateskript in einer 2. Datei liegen, ist das vielleicht das Problem.
In der ersten Datei liegt das Skript mit der Funktion und in der 2. Datei das Updateskript, dass per formtag in der 1. Datei ausgelöst wird.
Es muss jeder einzelne Button aktiviert werden Kann man das nicht so lösen, dass man nicht jeden Button aktivieren muss? Bzw. was muss ich in die Funktion eintragen, dass mir beim Aufbau der Seite mit den Radiobuttons bei jedem einzelnen Spieler der Button schon aktiviert ist, wenn der Wert in der db schon vorhanden ist.
Kommentar