Formularstatus mehrerer Personen ändern

Homwer

Mitglied
Grüße euch.
Ich brauche mal wieder einen kleinen denkanstoss, ich habe ein Formular, das mit Personen ausgibt, die einen status haben (1 oder 2)
Ich habe ein script, das listet mir alle leute auf, und auch deren status, z.b als checkbox (hacken rein = 1 kein hacken = 0)

Nun möchte ich, das ich die hacken nach belieben wegmachen udn neu vergeben kann, und das er das dann dementsprechen in der MySQL übernimmt.

meine einzige Idee, wäre per generierten Link, auf ein extra script zu linken welches sich im extra fenster öffnet (hintergrund) und das in der MySQL ändert.
Aber das ist ja reichlich unprofessionell.

Kennt jemand alternativen ?
 
Würd dir gern helfen, aber ich glaub ich bin zu begriffsstutzig ... was möchtest du machen? Dass du Statusfelder der User verändern kannst?
 
Hallo!

Wenn Du eh schon ein Formular zur Anzeige der Personen und deren Status hast, warum baust Du dort dann nicht auch einen "Update"-Button ein?
Dann brauchst Du nur noch zu prüfen ob dieser Button gedückt wurde (z.b. if(isset($_POST['update']) ) und dann Dein UPDATE Query ausführen.
So brauchst Du weder irgend ein Link noch irgend ein Fenster.

Gruss Dr Dau
 
Falls du keinen Button willst, kannst du auch JS benutzen:

Code:
onchange='this.form.submit()'

Das jeweils in das Checkbox-Tag schreiben...

Gruß
schoko
 
Hallo,
eventuell hilft dir ja folgendes Beispiel weiter:
PHP:
<?php
    if (isset($_POST['Absenden'])){
        $sql = '';
        $sql .= "UPDATE tabelle SET status = '0'\n";
        foreach ($_POST['rechte'] as $key => $value){
            $sql .= "UPDATE tabelle SET status = '".$value."' WHERE user_id = '".$key."'\n";
        }
        echo nl2br($sql);
        // Hier muss dann nur der Query ausgeführt werden ungefähr so:
        // $query = mysql_query($sql) or die(mysql_error());
        exit;
    }
?>
<html>
    <head>
        <title>Status ändern</title>
    </head>
    <body>
        <form method="POST" action="<?php $_SERVER['PHP_SELF']?>">
            <p>User 1 <input type="checkbox" name="rechte[1]" value="1"></p>
            <p>User 2 <input type="checkbox" name="rechte[2]" value="1"></p>
            <p>User 3 <input type="checkbox" name="rechte[3]" value="1"></p>
            <p><input type="submit" value="Absenden" name="Absenden"></p>
        </form>
    </body>
</html>
(Die Zahl, die in zwischen '[]' bei den Checkboxnamen steht sollte die User ID sein.)

mfg
forsterm
 
Das anzeigen ist kein Problem, ich muss es nur hinbekommen, dass das Script "erkennt" ob ein "status" geändert wurde (also Haken gesetzt) oder nicht.
 
Hallo,
danke für die Hilfe, aber leider fehlt noch eine letzte kleinigkeit, ich habe den Code mal etwas zusammen gerafft, aber das wesentliche sollte klar erkennbaar sein.
Wäre super wenn du es dir noch mal anschauen könntest.

PHP:
<?php
session_start ();
include 'config/config.php';
$raidid = $_GET['raidid'];

// Status leuchten setzen
if (isset($_POST['Absenden'])){
        //$sql = '';
        //$sql .= "UPDATE rpRaid SET status = '0'\n";
        foreach ($_POST['name'] as $value)
		{
            $sql .= "UPDATE tabelle SET status = '".$value."' WHERE name = '".$name."' AND raidid = '".$raidid."' ";
        }
        echo nl2br($sql);
     $query = mysql_query($sql) or die(mysql_error());
       exit;
    }

// Status leuchten ende





include 'config/config.php';


$verbinde=mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($db, $verbinde);

$lauf = 1;
while ($lauf <= 8) {
switch ($lauf) {

         case "1":
              $Klasse="Krieger";
               break;
                case "2":
                       $Klasse="Magier";
                        break;
                case "3":
                       $Klasse="Hexenmeister";
                        break;
 					case "4":
                        $Klasse="Priester";
                        break;
                case "5":
                       $Klasse="Druide";
                        break;
                case "6":
                       $Klasse="Schamane";
          				 break;
 					case "7":
                        $Klasse="Jäger";
                        break;
                case "8":
                       $Klasse="Schurke";
                        break;
                          default:

                        echo "Ungülig";

}

//****************************** AUSGABE

echo '<tr><td colspan="5"><center><h3>';
echo "$Klasse";
echo '</td></tr>';

$sql = "SELECT status,name,gilde,lvl,Datum FROM rpRaid WHERE raidid = '".$raidid."' AND Klasse = '".$Klasse."' order by Datum"; // dein select 
$result = mysql_query($sql); // ausführen des selects und speichern in ein resultset 
while($row = mysql_fetch_array($result)) // schleife solange ausführen bis resultset keine zeilen mehr hat 

{ 
echo '<tr><td>';

echo "</td><td>&nbsp;&nbsp;"; 
	echo($row['name']); // ausgeben 
echo "</td><td> "; 
	echo($row['gilde']); 
echo "$centerend </td><td>$center";
echo '<p> <input type="checkbox" name="';
echo ($row['name']);
echo '[';
echo $nr;
echo ']';
echo '" value="';
echo ($row['status']);
echo'"></p>';
$nr = $nr+1;


echo "$centerend </td><td>$right";
	echo($row['Datum']); 
echo "$rightend";
  // und so weiter 

}

$lauf++; // erhöt lauf um 1

}

echo'<p><input type="submit" value="Absenden" name="Absenden"></p></form>';
?>
 
Zurück