Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst mehrere Ausgaben eines Arrays davon soll eine Ausgabe per Checkbox markiert und geändert werden. Bloß wie?

Mitglied: gechger

gechger (Level 1) - Jetzt verbinden

10.07.2009, aktualisiert 05.10.2009, 4357 Aufrufe, 10 Kommentare

Mit Checkboxen habe ich schon gearbeitet, aber in diesem Fall komme ich mit meinem Wissen nicht weiter.

Hallo Forum,

schön das es Euch gibt. Ihr habt mir bisher immer weiter helfen können. Auch im aktuellen Fall fehlt mir mal wieder der letzte Schubs in die richtige Richtung.

Ich habe ein Formular, aus dem ein User Daten abrufen kann. Diese Daten stehen schön in einem Array und werden auch über eine Schleife ausgegeben. So kann es sein, daß dort 1 Datensatz oder auch ganz viele Datensätze ausgegeben werden.

Der Admin soll diese Daten überprüfen und wenn nötig ändern. Die Auswahl der Datensätze, die geändert werden sollen, will ich durch Checkboxen markieren. Beim Absenden der Checkbox soll nur der gewählte Datensatz in einer neuen Tabelle angezeigt und geändert werden. Hier mal der relevante Teil des Scripts:

01.
while ($row1 = mysql_fetch_assoc($result1)) { 
02.
         //echo "<pre>"
03.
         //print_r($row1); 
04.
         //echo "</pre>"
05.
         if (@$_POST["nachname"] == @$row1["name"]){ 
06.
                 if (!isset($_POST['daten'])) { 
07.
?> 
08.
 
09.
 
10.
<form action="aendern.php" method="post" name="Formular" onSubmit="return chkFormular()"
11.
<table border="1"
12.
         <tr> 
13.
                 <td width="120"><font size="-1">Datum </font></td> 
14.
                 <td width="180"><font size="-1">Name</font></td> 
15.
                 <td width="100"><font size="-1">Stunden</font></td> 
16.
                 <td><input type="radio" name="daten" value="id"></td></form> 
17.
         </tr> 
18.
         <tr> 
19.
                 <td width="120"  bgcolor="#FFFFFF" name="datum"><font size="-1"><b><? echo $row1["datum"]; ?></b></font></td> 
20.
                 <td width="180" bgcolor="#FFFFFF" name="name"><font size="-1"><b><? echo $row1["name"]; ?></b></font></td> 
21.
                 <td width="100"  bgcolor="#FFFFFF" name="zeit"><font size="-1"><b><? echo $row1["zeit"]; ?></b></font></td> 
22.
                 <td><input type="submit" value="ändern"></td> 
23.
         </tr> 
24.
         <tr> 
25.
                 <td width="250"><font size="-1">Projekt</font></td> 
26.
                 <td width="250"><font size="-1">Auftrag</font></td> 
27.
                 <td width="250"><font size="-1">Einsatz</font></td> 
28.
                 <td width="60"><font size="-1">Tätigkeit</font></td> 
29.
         </tr> 
30.
         <tr> 
31.
                 <td width="250" bgcolor="#FFFFFF" name="projekt"><font size="-1"><b><? echo $row1["projekt"]; ?></b></font></td> 
32.
                 <td width="250" bgcolor="#FFFFFF" name="auftrag"><font size="-1"><b><? echo $row1["auftrag"]; ?></b></font></td> 
33.
                 <td width="250" bgcolor="#FFFFFF" name="einsatz"><font size="-1"><b><? echo $row1["einsatz"]; ?></b></font></td> 
34.
                 <td width="60" bgcolor="#FFFFFF" name="tat"><font size="-1"><b><? echo $row1["taetigkeit"]; ?></b></font></td> 
35.
         </tr> 
36.
         <tr height="8"
37.
         <td height="8" bgcolor="#999999"></td> 
38.
         <td height="8" bgcolor="#999999"></td> 
39.
         <td height="8" bgcolor="#999999"></td> 
40.
         <td height="8" bgcolor="#999999"></td> 
41.
         </tr> 
42.
</table> 
43.
<? 
44.
45.
else
46.
.......
Ich habe ja nur eine Tabelle, die durch die Schleife mehrfach ausgegeben werden kann. Ich kann also nur einen Radiobutton definieren. Er trägt für jeden Datensatz den gleichen Namen ind das gleiche value.

Wie erreiche ich es also, daß nur der markierte Datensatz des Arrays weitergegeben wird in die neue Tabelle.

Jede Idee hilft.

Schöne Grüße
Christof
Mitglied: thaenhusen
10.07.2009 um 14:24 Uhr
Moin.

Bei den Inputs machst Du einfach folgendes:

<input type="checkbox" name="DSbeachten[]" value="<?php echo $row1["idfeld"]; ?>" />

Damit baust Du dir ein ID-Array mit den ID's der Datensätze, die bearbeitet werden sollen.

In dem nächsten Formular läufst Du das Array DSbeachten[] durch und kannst die Datensätze daduch zur Änderung anbieten.

in_array() wird Dir da wahrscheinlich weiterhelfen.

HTH.
MK
Bitte warten ..
Mitglied: gechger
10.07.2009 um 14:44 Uhr
Hallo MK,

im Prinzip also das Gleiche, als wenn ich eine Liste mit 10 Checkboxen habe und mit array[] im Namen die Daten anschließend weiterverarbeite. Das habe ich schon gemacht, dann werde ich das hier auch so lösen.

Vielen Dank für Deine prompte Antwort.

Schöne GRüße
Christof
Bitte warten ..
Mitglied: thaenhusen
10.07.2009 um 14:57 Uhr
Hallo Christof.

Im Prinzip ja. Wenn Du aber eindeutige ID's hast und mit denen arbeitest wird das
ganze meiner Meinung nach wartungsfreundlicher...

Schöne Grüße
MK
Bitte warten ..
Mitglied: gechger
10.07.2009 um 17:39 Uhr
Hallo MK,

leider krieg ich es nicht hin, weiss aber nicht wieso:

01.
$result1 = mysql_query($sql1) OR die(mysql_error()); 
02.
while ($row1 = mysql_fetch_assoc($result1)) { 
03.
         //echo "<pre>"
04.
         //print_r($row1); 
05.
         //echo "</pre>"
06.
         if (@$_POST["nachname"] == @$row1["name"]){ 
07.
                 if (!isset($_POST["daten[]"])) {         //prüfen, ob der Änderungsbutton gedrückt wurde 
08.
?> 
09.
 
10.
 
11.
<form action="aendern.php" method="post"
12.
<table border="1"
13.
         <tr> 
14.
                 <td width="120"><font size="-1">Datum </font></td> 
15.
                 <td width="180"><font size="-1">Name</font></td> 
16.
                 <td width="100"><font size="-1">Stunden</font></td> 
17.
                 <td><input type="radio" name="daten[]" value="<?php echo $row1["id"]; ?>/"><?php echo $row1["id"]; ?></td> 
18.
         </tr> 
19.
         <tr> 
20.
                 <td width="120"  bgcolor="#FFFFFF" name="datum"><font size="-1"><b><? echo $row1["datum"]; ?></b></font></td> 
21.
                 <td width="180" bgcolor="#FFFFFF" name="name"><font size="-1"><b><? echo $row1["name"]; ?></b></font></td> 
22.
                 <td width="100"  bgcolor="#FFFFFF" name="zeit"><font size="-1"><b><? echo $row1["zeit"]; ?></b></font></td> 
23.
 
24.
         </tr> 
25.
         <tr> 
26.
                 <td width="250"><font size="-1">Projekt</font></td> 
27.
                 <td width="250"><font size="-1">Auftrag</font></td> 
28.
                 <td width="250"><font size="-1">Einsatz</font></td> 
29.
                 <td width="60"><font size="-1">Tätigkeit</font></td> 
30.
         </tr> 
31.
         <tr> 
32.
                 <td width="250" bgcolor="#FFFFFF" name="projekt"><font size="-1"><b><? echo $row1["projekt"]; ?></b></font></td> 
33.
                 <td width="250" bgcolor="#FFFFFF" name="auftrag"><font size="-1"><b><? echo $row1["auftrag"]; ?></b></font></td> 
34.
                 <td width="250" bgcolor="#FFFFFF" name="einsatz"><font size="-1"><b><? echo $row1["einsatz"]; ?></b></font></td> 
35.
                 <td width="60" bgcolor="#FFFFFF" name="tat"><font size="-1"><b><? echo $row1["taetigkeit"]; ?></b></font></td> 
36.
         </tr> 
37.
         <tr height="8"
38.
         <td height="8" bgcolor="#999999"></td> 
39.
         <td height="8" bgcolor="#999999"></td> 
40.
         <td height="8" bgcolor="#999999"></td> 
41.
         <td height="8" bgcolor="#999999"></td> 
42.
         </tr> 
43.
 
44.
</table> 
45.
 
46.
<table> 
47.
<tr> 
48.
<td><input type="submit" value="ändern" ></td> 
49.
</tr> 
50.
</table> 
51.
 
52.
 
53.
 </form> 
54.
<?}} 
55.
 else
56.
 
57.
     echo "Selektion erfolgreich"
58.
 
59.
     echo "<pre>"
60.
     print_r($daten); 
61.
     echo "</pre>"
62.
 
63.
     echo "<pre>"
64.
     print_r($row1); 
65.
     echo "</pre>"
66.
 
67.
 
68.
 
69.
 
70.
 
71.
 
72.
73.
74.
?> 
75.
 
76.
 
77.
</body>
Ich prüfe zunächst mit
if (!isset($_POST["daten[]"])) ,
ob der Änderungsbutton betätigt wurde. Wenn nicht, soll er die gewünschten Daten zu Ansicht ausgeben, was auch passiert.

Wenn der Änderungsbutton gedrückt wird, will ich zunächst die Inhalte der Arrays ausgegeben haben, um zu sehen, was da drin steht.
Ich bekomme aber keine Anzeige.

Kann es sein, daß der Änderungsbutton nicht funktioniert, weil er Bestandteil der Schleife ist und zu jedem Datensatz erscheint?
Oder kann ich mit $_POST["daten[]") keine Prüfung vornehmen?

Schöne Grüße
Christof
Bitte warten ..
Mitglied: godlie
10.07.2009 um 19:03 Uhr
Hallo,

einem Radiobutton ein array zu geben macht recht wenig sinn!
Da bei mehreren Radiobuttons ja nur einer ausgewählt werden kann.

Jetzt mal eine Frage fürs Verständnis:

Willst du jetzt das bei der Anzeige der gesamtdaten es nur möglich ist einen Datensatz zum Bearbeiten auszuwählen oder das mehrere bearbeitet werden können?
Bitte warten ..
Mitglied: gechger
10.07.2009 um 20:40 Uhr
Hi Godlie,

schwere Entscheidung. Es ist sicherlich bessser in der Praxis, alle gewählten Datensätze in einem Rutsch zu ändern. Geht wahrscheinlich etwas schneller.

Schöne Grüße
Christof
Bitte warten ..
Mitglied: gechger
10.07.2009 um 20:45 Uhr
Hallo an Alle,

ich habe jetzt mal getestet, die Ausgabe an ein neues Formular zu senden.
So sieht das neue Formular aus:

01.
<? session_start(); 
02.
error_reporting(E_ALL); #zeig alle Fehler 
03.
ini_set('display_errors', '1'); #sorgt dafür, dass überhaupt Fehler angezeigt werden 
04.
 
05.
?> 
06.
 
07.
<!ENTITY % HTML.Version "-//W3C//DTD HTML 4.01 Frameset//EN" 
08.
  -- Typical usage: 
09.
 
10.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
11.
            "http://www.w3.org/TR/html4/frameset.dtd"
12.
 
13.
<html> 
14.
<head> 
15.
<title>Daten ändern</title> 
16.
 
17.
        <meta http-equiv="expires" content="0"
18.
        <meta name="author" content="Christof Gersky"
19.
 
20.
</head> 
21.
 
22.
<body> 
23.
<?php 
24.
foreach($seite as $elem) { 
25.
$cldb = mysql_connect($_SESSION['host'], $_SESSION['dbuser'], $_SESSION['passwort']) or die(mysql_error()); 
26.
mysql_select_db($_SESSION['db']); 
27.
$sql = "SELECT * FROM ".$_SESSION['tabdat']." where id = $elem"
28.
echo mysql_error(); 
29.
$result = mysql_query($sql) OR die(mysql_error()); 
30.
while ($row = mysql_fetch_assoc($result)) { 
31.
?> 
32.
<table border="1"
33.
         <tr> 
34.
                 <td width="120"><font size="-1">Datum </font></td> 
35.
                 <td width="180"><font size="-1">Name</font></td> 
36.
                 <td width="100"><font size="-1">Stunden</font></td> 
37.
         </tr> 
38.
         <tr> 
39.
                 <td width="120"  bgcolor="#FFFFFF" name="datum" value="<? echo $row["datum"]; ?>" > <font size="-1"></font></td> 
40.
                 <td width="180" bgcolor="#FFFFFF" name="name" value="<? echo $row["name"]; ?>" > <font size="-1"></font></td> 
41.
                 <td width="100"  bgcolor="#FFFFFF" name="zeit" value="<? echo $row["zeit"]; ?>" > <font size="-1"></font></td> 
42.
 
43.
         </tr> 
44.
         <tr> 
45.
                 <td width="250"><font size="-1">Projekt</font></td> 
46.
                 <td width="250"><font size="-1">Auftrag</font></td> 
47.
                 <td width="250"><font size="-1">Einsatz</font></td> 
48.
                 <td width="60"><font size="-1">Tätigkeit</font></td> 
49.
         </tr> 
50.
         <tr> 
51.
                 <td width="250" bgcolor="#FFFFFF" name="projekt" value="<? echo $row["projekt"]; ?>" > <font size="-1"></font></td> 
52.
                 <td width="250" bgcolor="#FFFFFF" name="auftrag" value="<? echo $row["auftrag"]; ?>" > <font size="-1"></font></td> 
53.
                 <td width="250" bgcolor="#FFFFFF" name="einsatz" value="<? echo $row["einsatz"]; ?>" > <font size="-1"></font></td> 
54.
                 <td width="60" bgcolor="#FFFFFF" name="tat" value="<? echo $row["taetigkeit"]; ?>" > <font size="-1"></font></td> 
55.
         </tr> 
56.
         <tr height="8"
57.
         <td height="8" bgcolor="#999999"></td> 
58.
         <td height="8" bgcolor="#999999"></td> 
59.
         <td height="8" bgcolor="#999999"></td> 
60.
         <td height="8" bgcolor="#999999"></td> 
61.
         </tr> 
62.
 
63.
</table> 
64.
<? 
65.
}} 
66.
?> 
67.
</body> 
68.
</html> 
69.
<!ENTITY % HTML.Frameset "INCLUDE"
70.
<!ENTITY % HTML4.dtd PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Aber dann bekomme ich eine Fehlermeldung:

Parse error: syntax error, unexpected '<' in /pages/be/0e/d0006174/home/htdocs/webtool/aenderaktdat.php on line 24

Es ist die Zeile mit der foreach Schleife. Aber ich finde nichts, was diesen Fehler verursachen könnte.

Seht Ihr da was????
Bitte warten ..
Mitglied: gechger
13.07.2009 um 13:22 Uhr
Hallo Forum,

bin nun einen Schritt weiter. Ich verwende einfach ein neues Formular.
Das erste sieht so aus:

01.
<form action="aenderndo.php" method="post"
02.
<table border="1"
03.
         <tr> 
04.
                 <td width="120"><font size="-1">Datum </font></td> 
05.
                 <td width="180"><font size="-1">Name</font></td> 
06.
                 <td width="100"><font size="-1">Stunden</font></td> 
07.
                 <td><input type="checkbox" name="daten[]" value="<?echo $row1["id"]?>"></td> 
08.
         </tr> 
09.
         <tr> 
10.
                 <td width="120"  bgcolor="#FFFFFF" name="datum"><font size="-1"><b><? echo $row1["datum"]; ?></b></font></td> 
11.
                 <td width="180" bgcolor="#FFFFFF" name="name"><font size="-1"><b><? echo $row1["name"]; ?></b></font></td> 
12.
                 <td width="100"  bgcolor="#FFFFFF" name="zeit"><font size="-1"><b><? echo $row1["zeit"]; ?></b></font></td> 
13.
 
14.
         </tr> 
15.
         <tr> 
16.
                 <td width="250"><font size="-1">Projekt</font></td> 
17.
                 <td width="250"><font size="-1">Auftrag</font></td> 
18.
                 <td width="250"><font size="-1">Einsatz</font></td> 
19.
                 <td width="60"><font size="-1">Tätigkeit</font></td> 
20.
         </tr> 
21.
         <tr> 
22.
                 <td width="250" bgcolor="#FFFFFF" name="projekt"><font size="-1"><b><? echo $row1["projekt"]; ?></b></font></td> 
23.
                 <td width="250" bgcolor="#FFFFFF" name="auftrag"><font size="-1"><b><? echo $row1["auftrag"]; ?></b></font></td> 
24.
                 <td width="250" bgcolor="#FFFFFF" name="einsatz"><font size="-1"><b><? echo $row1["einsatz"]; ?></b></font></td> 
25.
                 <td width="60" bgcolor="#FFFFFF" name="tat"><font size="-1"><b><? echo $row1["taetigkeit"]; ?></b></font></td> 
26.
         </tr> 
27.
         <tr height="8"
28.
         <td height="8" bgcolor="#999999"></td> 
29.
         <td height="8" bgcolor="#999999"></td> 
30.
         <td height="8" bgcolor="#999999"></td> 
31.
         <td height="8" bgcolor="#999999"></td> 
32.
         </tr> 
33.
</table> 
34.
<?} 
35.
36.
?> 
37.
<td><input type="submit" value="ändern"></td></form>
Wichtig dabei war, daß der Änderungs-Button außerhalb der Schleife liegt. Liegt er innerhalb, wird nur der "selektierte" Datensatz übergeben. Jetzt bekomme ich alle.

Die anderdatdo.php, an die ich die Werte übergebe, sieht so aus:
01.
<?php 
02.
 
03.
$cldb = mysql_connect($_SESSION['host'], $_SESSION['dbuser'], $_SESSION['passwort']) or die(mysql_error()); 
04.
mysql_select_db($_SESSION['db']); 
05.
$daten=$_POST["daten"]; 
06.
echo "<pre>"
07.
         print_r($daten); 
08.
         echo "</pre>"
09.
foreach ($daten as $key => $datenarr) { 
10.
 
11.
        echo $datenarr
12.
 
13.
 
14.
$sql = "SELECT * FROM ".$_SESSION['tabdat']." where id='$datenarr' order by datum"
15.
echo mysql_error(); 
16.
$result = mysql_query($sql) OR die(mysql_error()); 
17.
while ($row = mysql_fetch_assoc($result)) { 
18.
 
19.
 
20.
 
21.
?> 
22.
 
23.
 
24.
<table border="1"
25.
         <tr> 
26.
                 <td width="120"><font size="-1">Datum </font></td> 
27.
                 <td width="180"><font size="-1">Name</font></td> 
28.
                 <td width="100"><font size="-1">Stunden</font></td> 
29.
 
30.
         </tr> 
31.
         <tr> 
32.
                 <td width="120"  bgcolor="#FFFFFF"><font size="-1"><b><? echo $row["datum"]; ?></b></font></td> 
33.
                 <td width="180" bgcolor="#FFFFFF"><font size="-1"><b><? echo $row["name"]; ?></b></font></td> 
34.
                 <td width="100"  bgcolor="#FFFFFF"><font size="-1"><b><? echo $row["zeit"]; ?></b></font></td> 
35.
 
36.
         </tr> 
37.
         <tr> 
38.
                 <td width="250"><font size="-1">Projekt</font></td> 
39.
                 <td width="250"><font size="-1">Auftrag</font></td> 
40.
                 <td width="250"><font size="-1">Einsatz</font></td> 
41.
                 <td width="60"><font size="-1">Tätigkeit</font></td> 
42.
         </tr> 
43.
         <tr> 
44.
                 <td width="250" bgcolor="#FFFFFF"><font size="-1"><b><? echo $row["projekt"]; ?></b></font></td> 
45.
                 <td width="250" bgcolor="#FFFFFF"><font size="-1"><b><? echo $row["auftrag"]; ?></b></font></td> 
46.
                 <td width="250" bgcolor="#FFFFFF"><font size="-1"><b><? echo $row["einsatz"]; ?></b></font></td> 
47.
                 <td width="60" bgcolor="#FFFFFF"><font size="-1"><b><? echo $row["taetigkeit"]; ?></b></font></td> 
48.
         </tr> 
49.
         <tr height="8"
50.
         <td height="8" bgcolor="#999999"></td> 
51.
         <td height="8" bgcolor="#999999"></td> 
52.
         <td height="8" bgcolor="#999999"></td> 
53.
         <td height="8" bgcolor="#999999"></td> 
54.
         </tr> 
55.
</table> 
56.
 
57.
<? 
58.
 
59.
60.
61.
?>
Darin stehen jetzt alle ausgewählten Elemente.

Vielen Dank für Eure Hilfe.

Schöne Grüße
Christof
Bitte warten ..
Mitglied: Guenni
13.07.2009 um 22:50 Uhr
Hi Christof,

jetzt kannst du Datensätze, die zum Ändern markiert sind, in einem zweiten Formular

ausgeben. Aber diese werden, wie im ersten Formular, doch erstmal nur angezeigt.

Du könntest doch in einem Formular die Abfrageergebnisse einer DB direkt in Text-

bzw. Inputfelder ausgeben.


Die Input-Felder werden als Array deklariert, Index ist die jeweilige

Datensatz-ID. Am Ende wird, ebenfalls als Array, eine Checkbox angehangen,

Dem Value der Checkbox wird ebenfalls die Datensatz-ID übergeben.

Am Ende des Formulars noch ein Submit-Button, und alle markierten Datensätze

werden nach Absenden geändert.


Erstmal das Formular:

01.
<form action="<?echo $_SERVER[PHP_SELF];?>" method="post"
02.
 
03.
<table border="1"
04.
 
05.
<?php 
06.
 
07.
$query="select . . . u.s.w."
08.
 
09.
$result=mysql_query($query); 
10.
 
11.
while($row=mysql_fetch_array($result,MYSQL_ASSOC)){ 
12.
 
13.
?> 
14.
 
15.
<tr> 
16.
 
17.
<td><input type="text" name="vorname[<?echo $row[id];?>]" value="<?echo $row[Vorname];?>" /></td> 
18.
 
19.
<td><input type="text" name="nachname[<?echo $row[id];?>]" value="<?echo $row[Nachname];?>" /></td> 
20.
 
21.
... usw., je nach Anzahl Felder 
22.
 
23.
<td><input type="checkbox" name="edit[]" value="<?echo $row[id];?>" /></td> 
24.
 
25.
</tr> 
26.
 
27.
<? 
28.
29.
?> 
30.
<tr> 
31.
 
32.
<td colspan="Anzahl_Spalten"><input type="submit" value="Edit" name="cmd" /></td> 
33.
 
34.
</tr> 
35.
 
36.
</table> 
37.
 
38.
</form>
Die Verarbeitung des Formulars:

01.
<?php 
02.
//Prüfen, ob das Formular gesendet wurde. 
03.
 
04.
if(isset($_POST['cmd'])){ 
05.
 
06.
//Prüfen, ob wenigstens eine Checkbox markiert war, denn nur die werden gesendet. 
07.
  
08.
 if(isset($_POST['edit'])){ 
09.
   
10.
   //Wenn dem so ist, werden die gesendeten Daten in Variablen abgelegt. 
11.
   //Ich persönlich finde, dann ist die Sache leichter zu handeln. 
12.
         
13.
	$vornamen=$_POST['vorname']; 
14.
	$nachnamen=$_POST['nachname']; 
15.
	 
16.
   
17.
   //In der foreach-Schleife werden nun die einzelnen Value's(die Datensatz-ID's) aus dem 
18.
   //Array der Checkbox in die Variable id abgelegt. 
19.
   //Mit dieser Variablen kann ich nun die Array-Elemente der übertragenen Input-Felder 
20.
   //ansprechen und verarbeiten. 
21.
	 
22.
  foreach($_POST['edit'] as $id){ 
23.
	 $query="update tabelle"
24.
	 $query.=" set vorname='$vornamen[$id]',nachname='$nachnamen[$id]'"
25.
	 $query.=" where id=$id"
26.
	 $result=mysql_query($query) or die(mysql_error()); 
27.
28.
29.
30.
 
31.
?>
Gruß
Günni
Bitte warten ..
Mitglied: gechger
14.07.2009 um 20:49 Uhr
Hi Günni,

scheint, als wenn durch Dein Script alles etwas schlanker wird.
Ich versuche mal, daß umzusetzen. Wird aber ein paar Tage dauern, da ich mal wieder meinem "normalen" Job nachgehen muß und einige Tage im Ausseneinsatz bin. Leider kann ich php nur so "nebenbei" machen.

Nicht gerade ideal, man muß sich ja immer neu eindenken.

Jedenfalls viieeeelen Dank
und schöne Grüße

Christof
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel SVERWEIS mit mehreren Ausgaben
Frage von PeronasMicrosoft Office

Hallo zusammen, hätte nochmal eine Frage zu einer Excelaufgabe. Und zwar habe ich 2 Tabellen. 1. Tabelle beinhaltet die ...

Batch & Shell

Wieso ist die Catch Ausgabe ohne ausgabe der Variable?

gelöst Frage von pixel0815Batch & Shell10 Kommentare

Hallo zusammen, weshalb wird nicht die Variable $_.Hostname mit dem betreffenden nicht vorhandenen Record angezeigt? Ich erhalte immer Kein ...

Datenbanken

MYSQL ausgabe

Frage von pcguyDatenbanken31 Kommentare

Hallo zusammen Ich versuche gerade einen DB inhalt gefiltert auszugeben. DB: id - parent_id - title - url - ...

Batch & Shell

Ausgabe filtern

gelöst Frage von DoktorApfelBatch & Shell2 Kommentare

Hallo zusammen, Ich schreib gerade an einem Skript für Abfragen aus dem Programm Device42, mit Hilfe folgendes Befehles Erhalte ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 StundeSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 10 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 23 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...