Seite 1 von 1

Mehrere <select>s mit gleichem Namen anwenden

Verfasst: 15.10.2007 17:21
von ScriptingBase
Ich steh hier grad vor einem Problem:
Ich habe eine Userliste mit jeweils einem <select>. In diesem <select> sind Werte gespeichert, die jeden einzelnen User betreffen. Jedoch macht nur das letzte <select> die Änderung in der DB.
Wie kann ich es schaffen, dass jedes <select> eine Änderung in der DB macht?

Da ich dies für eine Mod benötige, die nocht nicht released wurde, möchte ich den Code noch nicht so sehr öffentlich zugänglich machen.

Das einzige, das ich öffentlich machen möchte, ist der submit-Abschnitt:

Code: Alles auswählen

if( isset( $HTTP_POST_VARS['submit'] ) )
{
	$sql = "UPDATE " . USERS_TABLE . "
					SET
						user_penalty = '" . $HTTP_POST_VARS['set_points'] . "'    ///////// <-- Dies sind die <select>s
					WHERE
						user_id = '" . $HTTP_POST_VARS['user_id'] . "'";

	if( !$result = $db -> sql_query( $sql ) )
	{
		message_die(CRITICAL_ERROR, "Could not update penalty points", "", __LINE__, __FILE__, $sql);
	}
}
Vielleicht hilft aber ein Screenshot weiter:
http://www.scripting-base.de/zeuch/select.jpg

Verfasst: 15.10.2007 17:41
von S2B

Code: Alles auswählen

<select name="strafpunkte[]">
$_GET['strafpunkte'] ist dann ein Array aus allen Werten. Wenn du die Strafpunkte einem bestimmten Benutzer zuordnen willst, kannst du auch sowas verwenden:

Code: Alles auswählen

<select name="strafpunkte[{users.USER_ID}]">

Verfasst: 15.10.2007 17:47
von ScriptingBase
Hab nun
<select name="set_points[]">

drin stehen, aber nun passiert garnichts mehr, oder bin ich zu doof, es anzuwenden.

Verfasst: 15.10.2007 18:37
von S2B
Naja, deinen PHP-Code musst du schon anpassen, schließlich ist $_GET['strafpunkte'] jetzt kein String/Integer mehr, sondern ein Array...

Verfasst: 16.10.2007 17:01
von ScriptingBase
Komisch... ich hab es jetzt nochmal probiert und nun geht es o.0

Vielen Dank für deine Hilfe, Thread kann von mir aus geprunt werden ;)