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

Variables Formular mit Datenbankeinträgen

Mitglied: Chill0R

Chill0R (Level 1) - Jetzt verbinden

27.02.2007, aktualisiert 20:45 Uhr, 2202 Aufrufe, 1 Kommentar

Hallo,

ich habe ein "kleines" Problem und zwar möchte ich ein Formular erstellen mit dem eine variable Anzahl von Datensätzen in eine Datenbank geschrieben werden.

Funktionsprinzip:
Ich habe eine Auswahlmöglichkeit wie viele Mannschaften in die Datenbank eingetragen werden sollen. Je nach Eingabe erscheint dann ein Formular in dem entsprechend viele Felder zum eintragen der Mannschaften wie eingegeben erscheinen.

01.
$anz=$_GET['anz']; 
02.
 
03.
echo " 
04.
<b>Mannschaften eintragen:</b><br> 
05.
==================================<br><br> 
06.
<form action='$PHP_SELF' method='post'> 
07.
<table>"; 
08.
  
09.
 for ($i=1; $i<=$anz; $i++) { 
10.
 
11.
echo " 
12.
	<tr> 
13.
	   <td>Mannschaft $i:</td> 
14.
	   <td><input type='text' name='Mannschaft$i' size='25'></td> 
15.
	   <td><input type='hidden' name='ID$i' value='$i'></td> 
16.
	</tr>"; 
17.
   
18.
19.
 
20.
echo "  
21.
</table> 
22.
<input type='submit' value='Anlegen' name='anlegen'> 
23.
</form>";
Das klappt auch soweit ganz gut.

Kommen wir zum eigentlichen Problem:

Man könnte das ganze recht unflexibel lösen indem man für jede Variable einen extra Eintag macht:

01.
$ID1=$_POST['ID1']; 
02.
$Mannschaft1=$_POST['Mannschaft1']; 
03.
$ID2=$_POST['ID2']; 
04.
$Mannschaft2=$_POST['Mannschaft2']; 
05.
... usw...
und das eintragen in die Datenbank mit:
01.
if(isset($_POST['anlegen'])) 
02.
03.
$eintragen1="INSERT INTO mannschaften 
04.
				(ID, Mannschaft) 
05.
			VALUES 
06.
				('$ID1', '$Mannschaft1')"; 
07.
$eintragen2="INSERT INTO mannschaften 
08.
				(ID, Mannschaft) 
09.
			VALUES 
10.
				('$ID2', '$Mannschaft2')"; 
11.
...usw... 
12.
 
13.
mysql_query($eintragen1) or die(mysql_error()); 
14.
mysql_query($eintragen2) or die(mysql_error()); 
15.
..usw... 
16.
}
Da man aber 12-24 Mannschaften eintragen können soll ist das sehr schreibintensiv und sehr viel Quellcode.

Ich würde den unteren Code gerne genauso flexibel gestalten wie das Formular oben.

Ich habe schon versucht den Teil mit dem Eintragen in die Datenbank folgendermaßen zu lösen:

01.
for ($i=1; $i<=$anz; $i++) { 
02.
$eintr="$".eintragen.$i; 
03.
 
04.
mysql_query($eintr) or die(mysql_error()); 
05.
}
Allerdings wird dadurch leider nicht die Variable erzeugt die ich brauche. Für $eintr steht dann zwar das passende $eintragen1 allerdings wird es nicht als Variable erkannt.
Den Part darüber würde ich auch gerne Variabel gestalten aber leider finde ich keinen Weg der Funktioniert.

Ich hoffe ihr habt ein paar hilfreiche Tipps für mich. Vllt habe ich ja auch nen kompletten Denkfehler drin und das ganze geht anders ganz einfach....

Gruß
Mitglied: Guenni
27.02.2007 um 20:45 Uhr
@Chill0R

Hi,

du kannst HTML-Tags als Array deklarieren, und das Array mit PHP auswerten.

01.
<? 
02.
if($anlegen){ 
03.
 $query="Insert into mannschaften(manschaft) "
04.
 $query.="values('$mannschaft[0]')"; <-- erstes Element des Array, siehe Formular, anhängen 
05.
 $i=1; 
06.
 while($i<count($mannschaft)){ 
07.
  $query.=","."values('$mannschaft[$i]')"; <-- ein Komma, nächstes Element anhängen 
08.
	$i++; 
09.
10.
11.
 
12.
echo $query; <-- Testausgabe, eventuell muß dem Query noch ein ";" angehangen werden: $query.=";"
13.
wenn der Befehl **mysql_query($query);** abschickt wird 
14.
Zeigt sich ja dann. 
15.
?> 
16.
 
17.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
18.
<html> 
19.
<head> 
20.
<title>Untitled</title> 
21.
</head> 
22.
<body> 
23.
 
24.
<form action="test.php" method="post"
25.
<table> 
26.
<? 
27.
$anz=$_GET['anz']; 
28.
if($anz){ 
29.
 for($i=0;$i<$anz;$i++){ 
30.
  echo "<tr>"
31.
	 echo "<td><input type=\"text\" name=\"mannschaft[]\" size=\"25\"></td>"; <-- Textfeld **mannschaft** als Array deklarieren 
32.
	echo "</tr>"
33.
34.
35.
?> 
36.
</table> 
37.
<input type="submit" value="Anlegen" name="anlegen"
38.
</form> 
39.
</body> 
40.
</html>
Denke mal, so wird's gehen.

Grüße
Günni
Bitte warten ..
Ähnliche Inhalte
Windows Server

SQL Server Uhrzeit Server und Datenbankeinträge unterschiedlich

gelöst Frage von Andinistrator1Windows Server6 Kommentare

Hallo Zusammen, bei meinem SQL Server weicht die Uhrzeit, welche im Windows eingestellt ist um genau 2h von dem ...

Batch & Shell

Mit zusammengesetzter Variable auf andere Variable zugreifen

gelöst Frage von abiberBatch & Shell2 Kommentare

Hallo zusammen, ich möchte in einer Batch Datei über Robocopy auf mehrere Rechner Dateien verteilen. Dazu möchte ich am ...

Batch & Shell

Datei als Variable auslesen und Variable ändern

gelöst Frage von chainsawBatch & Shell1 Kommentar

Hallo Profis, ich komme mit folgendem Problem nicht weiter: In dem Verzeichnis "C:\logfiles" landen bei mir Log-Dateien. Diese Log-Dateien ...

Batch & Shell

Variablen Nutzen welche aus dem Inhalt von Variablen erstellt werden

gelöst Frage von der-blobBatch & Shell4 Kommentare

Hallo Zusammen, der Titel ist zwar nicht direkt aussage kräftig, aber jedoch weis ich nicht wie ich es beschreiben ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

Grafikkarten & Monitore
4k EIZO Monitor, Fernseher und Splitter
Frage von LerxxeyGrafikkarten & Monitore9 Kommentare

Hallo Zusammen, vielleicht könnt ihr mir bei einem Problem helfen wo ich einfach nicht mehr weiterkomme Und zwar haben ...

TK-Netze & Geräte
Fax im Betrieb
Frage von gansa28TK-Netze & Geräte6 Kommentare

Hallo zusammen, Endlich wurden meine Gebete Erhört und der Rechner meines Bekannten dem ich etwas unter die Arme greife, ...

Windows Server
HyperV Failover Cluster Konzeption und Aufbau
Frage von snowboard86Windows Server5 Kommentare

Hallo liebe KollegInnen, Ich habe eine Frage zu Hyper V Failover-Clusters. Wir sind ein mittelständisches Handelsunternehmen und haben aktuell ...