WinFuture-Forum.de: Checkboxen Mittels Php Und Mysql ändern - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Checkboxen Mittels Php Und Mysql ändern


#1 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 322
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 08. April 2009 - 15:32

Hiho!

Ich habe jetzt ein kleines "Administrationsinterface" geschrieben.

Darin werden alle User aufgelistet, und daneben dann 2 Checkboxen. Die erste Box ist zum aktivieren der User (das wird händisch gmacht, da ich zuerst mit dem User kontakt aufnehme) und die 2. Checkbox ist zum Löschen des Users da.

Die Werte werden aus einer MySQL - DB ausgelesen, funktioniert auch alles soweit aber:

Ich kann User zwar aktivieren, aber nicht mehr deaktivieren! D.h. es wird per Datenbankabfrage der Wert "checked" geschrieben, dass wenn ich das Tool aufrufe, ich sehe welche User aktiviert sind und welche nicht.
Wenn ich nun einen User wieder deaktivieren möchte (nicht löschen!), bleibt er aktiviert.

Habe schon alle möglichen Varianten durchprobiert, aber bin zu keiner Lösung gekommen.

Hier der PHP-Teil fürs Checkboxenüberprüfen (die Grundfunktion, ohne irgendeiner Überprüfung)
CODE

if (isset($_REQUEST['cbutton'])) {
reset($_REQUEST['cbutton']);
foreach ($_REQUEST['cbutton'] as $k => $v) {
$updaten = "UPDATE user SET aktiviert = 1 WHERE ID=$k";
$updateErgebnis = mysql_query($updaten);

if ($updateErgebnis)
echo "Updaten erfolgreich";
else
echo "Updaten fehlgeschlagen -- AKTIVIEREN ";
}
}

Hier noch das Formular:
CODE

<input type="checkbox\" name=\"cbutton[$id]\" value=\"1\""; if($aktiviert==1){ echo "checked";}else{} echo" /> aktiviert


Hab mich schon gespielt mit value-Werten usw, aber bin zu keiner Lösung gekommen. Bin mir zwar sicher, dass es einfach ist, aber ich komme leider nicht drauf ^^

MfG
0

Anzeige



#2 Mitglied ist offline   martin_mt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 515
  • Beigetreten: 19. August 02
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 08. April 2009 - 15:50

naja, dein updatescript is auch nur

$updaten = "UPDATE user SET aktiviert = 1 WHERE ID=$k";


damit setzt du es immer auf 1, und nie auf 0 ;)

am besten einfach ne variable nehmen und die variable wenn die checkbox aktiv is auf 1, sonst auf 0 setzen
0

#3 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 322
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 08. April 2009 - 16:05

Ja wie gesagt, ist ohne Überprüfung, weil ich eben schon so viele Sachen durch probiert habe aber nie was funktioniert hat wie ich das wollte ;)

Habe ja schon verschiedene Sachen probiert zB if($_REQUEST['cbutton']==1) -> updaten mit 1 else updaten mit 0 usw, aber das funktioniert alles net so wie es soll...
0

#4 Mitglied ist offline   Iso 

  • Gruppe: aktive Mitglieder
  • Beiträge: 487
  • Beigetreten: 14. Mai 03
  • Reputation: 0
  • Wohnort:Hörstel
  • Interessen:Computer<br />Parties<br />Mädels...

geschrieben 08. April 2009 - 18:05

Speicher doch in nem hidden field den wert, den der user hat, wenn die site geladen wird, dann vergleichste das nach dem versenden des formulars in PHP und wenn der ander ist ( von 0 auf 1, oder 1 auf 0 ) dann machste halt n entsprechenden mysql update.
Übrigens XHTML konform müsste es auch checked="checked" heißen.
Asus F3JP-Z53 Notebook:
Intel Core 2 Duo T7200 @ 2 Ghz
Mobile Radeon X1700 256 MB
2048 MB DDR2-Ram
160 GB Hitachi HDD
Ubuntu 9.04 / Windows XP SP 3
0

#5 Mitglied ist offline   bluescorp 

  • Gruppe: aktive Mitglieder
  • Beiträge: 322
  • Beigetreten: 23. Oktober 04
  • Reputation: 0
  • Wohnort:nähe Wien

geschrieben 09. April 2009 - 08:18

hi!

Problem wurde gelöst mit folgendem Code:

CODE

for ($i=0; <10; $i++) {
$value = isset($_REQUEST['cbutton'][$i]) ? 1 : 0;
$updaten = "UPDATE user SET aktiviert = $value WHERE ID = $i";
...
}

thx@steffenk vom TP-Forum

Dieser Beitrag wurde von bluescorp bearbeitet: 09. April 2009 - 08:19

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0