Ausgabe individuell behandeln
Maede
- php
0 ChrisB
Hallo zusammen
Ich habe folgende PhP-Ausgabe:
$MTdb3 = mysql_query("SELECT * FROM metatags");
while ($MTTrow = mysql_fetch_assoc($MTdb3)) {
echo "<tr>";
echo "<td class=\"db_code\">";
echo $_POST['MTTid'] = $MTTrow['MTT_ID'];
echo "</td>";
echo "<td class=\"db_code\">";
echo $MTTrow['MTT_code'];
echo "</td>";
echo "<td class=\"db_status\">";
echo "<select name=\"MTT_select\" onchange=\"this.form.submit();\">";
if ($MTTrow['MTT_status'] == 'aktiviert') {
echo "<option>aktiviert</option>";
echo "<option>deaktiviert</option>";
} else {
echo "<option>deaktiviert</option>";
echo "<option>aktiviert</option>";
}
echo "</select>";
echo "</td>";
echo "<tr>";
}
Soweit sogut. Ich möchte jedoch, wenn man im SELECT-Tag avtiviert oder deaktiviert auswählt ein mysql_query("UPDATE metatags SET MTT_status = '$_POST[MTT_select]' WHERE MTT_ID = '$_POST[MTTid]'");
-Abfrage stattfindet, damit sich der bereits vorhandene Wert in der DB durch den im SELECT-Tag ausgewählten Wert ersetzt.
Ebenfalls zu beachten, in der DB sind mehrere Datensätze vorhanden, dass heisst es werden mehrere SELECT-Felder generiert, da ich Datensatz für Datensatz auslese. Sollte man den Wert in einem SELECT-Feld ändern, sollten die restlichen jedoch nicht davon betroffen sein.
Das ganze sollte z.b. so ausehen, ganz grob:
-------------------------------
|ID| Meta |Status | //Überschrift
-------------------------------
|22| author |aktiviert | //Datensatz 1
|32| title |deaktiviert | //Datensatz 2
|24| language |deaktiviert | //Datensatz 3
|28| description |aktiviert | //Datensatz 4
-------------------------------
Ich war leider bis jetzt erfolglos mit meinem Vorhaben, kann mir jemand helfen?
mfg: Maede
Hi,
Ich habe folgende PhP-Ausgabe:
[...]
Soweit sogut.
So weit, so übel.
Keinerlei Fehlerbehandlung, anfällig für XSS, chaotische Vermischung von PHP-Code und HTML-Ausgaben.
Dazu noch ein Gebrauch von SELECT/OPTION, welcher der Erwartung des Nutzers widerspricht. Warum änderst du die *Reihenfolge* der OPTIONs, anstatt einfach eine OPTION vorzuselektieren?
Ich möchte jedoch, wenn man im SELECT-Tag avtiviert oder deaktiviert auswählt ein
mysql_query("UPDATE metatags SET MTT_status = '$_POST[MTT_select]' WHERE MTT_ID = '$_POST[MTTid]'");
-Abfrage stattfindet, damit sich der bereits vorhandene Wert in der DB durch den im SELECT-Tag ausgewählten Wert ersetzt.
Und wo du haben Problem?
Ebenfalls zu beachten, in der DB sind mehrere Datensätze vorhanden, dass heisst es werden mehrere SELECT-Felder generiert, da ich Datensatz für Datensatz auslese. Sollte man den Wert in einem SELECT-Feld ändern, sollten die restlichen jedoch nicht davon betroffen sein.
Dann überlege dir, wie du den Datensatz, den das SELECT-Feld betreffen soll, identifizierbar machst, und wie du diese Identifizierung mit der anderen Information (aktiviert/deaktiviert) bündelst.
(Und ob für den Wechsel zwischen genau zwei Zuständen ein SELECT-Feld die beste Möglichkeit ist, solltest du auch noch überlegen. Was spricht gegen die Nutzung einer Checkbox?)
MfG ChrisB